Ubuntu 16.04 LTSde MongoDB ve Apache ile Meteor.js Web Uygulaması Kurulumu

Meteor.js, Node.js düşünülerek yazılmış açık kaynaklı bir JavaScript çerçevesidir. Saf JavaScript'te web uygulamaları oluşturma görünümü nedeniyle popülerdir. Meteor, web tarayıcısında çalışan ön uç JavaScript desteğinin yanı sıra ana sunucuda çalışacak arka uç JavaScript'i de içerir. React ve Angular.js gibi ön uç JavaScript çerçeveleri ve popüler bir NoSQL veritabanı olan MongoDB ile çok iyi bütünleşir. Meteor.js'yi seçmek için birkaç büyük neden şöyledir:

  • Meteor.js tam bir yığın çerçevedir. Böylece, ihtiyacınız olan her şeyi elde edersiniz: Veritabanı, ön uç, arka uç. Meteor hepsini birbirine bağlamak için inanılmaz bir iş çıkarıyor.

  • Hız. Meteor'un sezgisel paket sistemi, uygulamanızı mükemmelleştirmek için ihtiyaç duyabileceğiniz birçok araç sunar.

  • Meteor Developer Group'un yanı sıra onu kullanan diğer geliştiricilerden de iyi bir desteği var. Karşılaşabileceğiniz sorunları kolayca çözebilir ve hızlı bir şekilde çözebilirsiniz.

Bu derste Ubuntu 16.04 ile ilgili aşağıdaki hedeflere ulaşacağız:

  • Node.jsJavascript çalışma zamanımızı yükleyin .

  • Yükleyin Meteor.js.

  • MongoDBMeteor'un tercih ettiği veritabanını kurun .

  • ApacheTers proxy sunucumuzu yükleyin ve varsa alanımızı ayarlayın.

  • Web sitemizi test edin.

  • Web sitemizi üretim için hazırlayın.

Node.js Yükleniyor

Öncelikle JavaScript yorumcumuz olan Node.js'yi ve Meteor'un çekirdeğini yüklemeniz gerekir. Meteor'u ve gelecekte sahip olabileceğimiz diğer Node.js uygulamalarını çalıştırmamıza izin verecektir. Bu durumda, Node.js 8'i kuracağız. İndirmeyi başlatmak için terminalinizde aşağıdakileri yapmanız yeterlidir.

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

İndirme ve kurulumun tamamlanmasını bekleyin.

MongoDB Kurulumu

Sonra, veritabanımızı yükleyeceğiz: MongoDB. MongoDB ücretsiz, açık kaynaklı bir NoSQL belge veritabanı ve Meteor'un tercih ettiği veritabanıdır. Geleneksel bir SQL veritabanındaki yapılandırılmış tabloların aksine, belgeleri için JSON benzeri bir biçim kullanır.

APT(Advanced Packaging Terminal) tarafından kullanılan MongoDB genel anahtarını içe aktarın . Bu APT'nin paketi doğrulamasına izin verir; bu durumda, MongoDB.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

Ubuntu 16.04 için gerekli liste dosyasını oluşturun.

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

MongoDB kurulumunu başlatın ve kurulumun tamamlanmasını bekleyin.

sudo apt update && sudo apt install mongodb-org -y

Düzenlemek için systemd hizmetini açın.

sudo nano /etc/systemd/system/mongodb.service

Systemd hizmetini tamamlamak için aşağıdakileri kopyalayıp yapıştırın.

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Control-OKaydetmek için " Control-X" ve çıkmak için " " tuşlarını kullanın .

sudo systemctl start mongodbTerminalinize yazarak MongoDB systemd hizmetini çalıştırın .

Başarıyla başlatıldığını doğrulamak için aşağıdakileri yazın.

sudo systemctl status mongodb

Hizmetin etkin olduğunu göreceksiniz.

Apache2'yi kurma ve kurma

Ardından, Apache'yi kuracağız. Apache, bu öğreticide kullanacağımız şey olan ters proxy olarak da işlev gören ücretsiz ve açık kaynaklı bir web sunucusu yazılımıdır. Meteor.js Başvurumuzu bağlamak için ters bir proxy gereklidir port 80. Node.js, kök erişim olmadan uygulamaların bu bağlantı noktasında çalışmasını engeller. Apache roototomatik olarak çalıştığı gibi bağlanır port 80, bu nedenle web sitemizi çalıştırma zamanı geldiğinde endişelenmemize gerek kalmaz.

Apache'yi yükleyin.

sudo apt update && sudo apt install apache2

Gibi web bağlantı noktalarına erişime izin vermek port 80için güvenlik duvarımızı Apache için yapılandırmamız gerekiyor. Bunu UFW(Karmaşık Güvenlik Duvarı) ile yapıyoruz .

sudo ufw allow 'Apache Full'

Bu, " Apache Full" profiline erişime izin verecektir . Bu bize gelen trafiği verir port 80, bu da uygulamamızın üzerinde çalışacağı şeydir.

Meteor.js'yi yükleme ve temel uygulamamızı oluşturma

Şimdi web çerçevemizi kuracağız: Meteor.js. Yüklemek için Meteor ekibi tarafından sağlanan basit bir bash betiği kullanacağ��z.

curl https://install.meteor.com/ | sh

Kurulumun bitmesini bekleyin. Temelde komut dosyasının yaptığı şey, Meteor'u resmi web sitesinden indirir ve global olarak yükler, böylece her yerden kullanabiliriz. Tamamlandığında, uygulama dizinimizi oluşturabiliriz. Meteor'un bunu yapmak için kullanmamız için kullanışlı küçük bir aracı var meteor create. Uygulama dizininizi oluşturmak için aşağıdakileri yazın.

meteor create <projectname>

Klasör, belirtilen adla ( <projectname>) oluşturulacaktır.

Apache ters proxy sunucumuzu ayarlama

Artık uygulama dizinimizi kurduk, ters proxy'imizi kurmaya devam edebiliriz. Apache, Apache için bir mod_proxyproxy uygulayan adlı bir modül kullanır .

sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y

Bu, modülü kuracak ve Apache'nin kullanabilmesini sağlayacaktır.

Ardından, Apache'nin çalışması için gereken tüm modülleri etkinleştirmemiz gerekecek. Bunu a2enmodApache için modüller sağlayan bir araçla yapacağız . Bu modüller, ters proxy'den faydalanmamızı sağlayacaktır. Bu komutları terminalinize yazmanız yeterlidir.

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html

Bundan sonra, varsayılan Apache sitesinin başlatılmasını devre dışı bırakmamız gerekecek, böylece kendi sitemizi başlatabiliriz. Aksi takdirde, varsayılan Apache uygulaması bizimkini geçersiz kılacaktır. Varsayılan siteyi devre dışı bırakmak için aşağıdakileri yapmanız yeterlidir.

sudo a2dissite 000-default

Şimdi sanal ana bilgisayar dosyamızı oluşturacağız. Bunu yapmak için bir metin editörü açmanız yeterlidir.

sudo nano /etc/apache2/sites-available/<projectname>

Aşağıdakileri kopyalayıp yapıştırın.

<VirtualHost *:80>
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  ProxyPreserveHost On
  # Servers to proxy the connection, or
  # List of application servers Usage
  ProxyPass / http://0.0.0.0:3000/
 ServerName localhost
</VirtualHost>
  • VirtualHost *:80: Apache'ye web uygulamamız için istediğimiz port 80'e bağlanmasını söyler.

  • ProxyPass: Ters proxy'ye iletmek istediğiniz sitenin IP adresi. Bu büyük olasılıkla VPS'nizin IP'si olacaktır

  • ServerName: Sunucunuzun adı (varsayılan ad genellikle localhost).

Gerekli ayarları yapılandırmayı tamamladıktan sonra Control-Okaydetmek için " Control-X" ve çıkmak için " " tuşlarını kullanın.

Siteyi ilk kez çalıştırma

Test etmek ve web sitesinin çalıştığından emin olmak için proje dizinine aşağıdakileri yazın.

meteor

Sitenizin başarıyla başlatıldığını gösteren aşağıdaki çıktıyı göreceksiniz.

=> App running at: http://localhost:3000/

Meteor'un varsayılan olarak dinlediğini unutmayın port 3000.

Web sitemizi üretim için kurma

Uygulamamızın çalışmaya devam edebildiğinden emin olmak için bir systemd hizmeti kullanacağız. Yukarıda MongoDB ile yaptığımız gibi, bu sistem hizmeti de web sitemizin sistemimiz her başladığında çalışmaya başlamasını ve çalışmaya devam etmesini sağlayacaktır. Ayrıca, herhangi bir nedenle çökmesi durumunda uygulamamızı yeniden başlatacaktır. Sistem hizmetimizi ayarlamak için terminalinize aşağıdakileri yazın.

sudo nano /etc/systemd/system/<projectname>.service

Dosyanızın nasıl görünmesini istediğiniz aşağıda açıklanmıştır.

[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1

Not : Projenin adı ve VPS kullanıcı adı ile değiştirmeyi unutmayın .projectnameyourusername

Aklınızda bulundurmanız gereken bazı önemli satırlar.

  • WorkingDirectory: Uygulamanızın dizini.

  • Restart: Uygulamanın yeniden başlatılıp başlatılmayacağı herhangi bir nedenle durur.

  • User: Kullanıcı adınızı.

  • Environment=PWD: Özdeş WorkingDirectory.

  • Environment=PORT: Uygulamanızın çalıştığı bağlantı noktası. Varsayılan değer 3000.

Dosyayı kaydedip kapatın.

Şimdi hizmeti etkinleştirip başlatacağız.

sudo systemctl enable <projectname>.service

<projectname>Oluşturduğumuz hizmet dosyasının adı nerede .

Sonra hizmeti başlatacağız.

sudo systemctl start <projectname>.service

Başvurunuz başlayacaktır. Başlatıldığını doğrulamak için aşağıdakileri çalıştırın.

sudo systemctl status <projectname>

Hizmetin başarıyla başlatıldığını doğrulayarak etkin olduğunu göreceksiniz.

Sonra, web sitemizi kontrol edeceğiz. Tercih ettiğiniz web tarayıcınızda IP adresinize gidin.

http://your-server-ip/

Her şeyi doğru şekilde yaptığınızı doğrulayan Meteor örnek ekranını göreceksiniz.

Uygulamamızı yönetme

Şimdi uygulamamızı başlattığımıza göre, onu yönetmemiz gerekecek.

Başvurunuzu yeniden başlatma

sudo systemctl restart <projectname>

Uygulamayı durdurma

sudo systemctl stop <projectname>

Uygulamanın durumunu görüntüleme

sudo systemctl status <projectname>

Günlükleri görüntüleme

journalctl -u <projectname>

Artık MongoDB, Apache ve Meteor'u başarıyla yapılandırdınız ve üretim için bir Meteor.js web sunucusu oluşturdunuz. Web sitenizi ön uçta ve arka uçta tasarlamak artık gerisi size kalmış. İhtiyacınız olabilecek verileri depolamak için MongoDB'ye ve NPMarka ucunuzu daha da güçlendirmek için Düğüm Paketi Yöneticisi ( ) aracılığıyla çeşitli modüller sunan Node.js'ye erişebilirsiniz . Daha fazla dokümantasyon için, web sitenizi beğeninize göre nasıl özelleştireceğinizi daha fazla öğrenebileceğiniz Meteor sitesini ziyaret etmekten çekinmeyin . Ayrıca, veritabanı işlemleri ile uğraşırken MongoDB belgelerine başvurabilirsiniz .



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Debianda NFS Paylaşımı Ayarla

Debianda NFS Paylaşımı Ayarla

NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar

GitBucket Ubuntu 16.04 Kurulumu

GitBucket Ubuntu 16.04 Kurulumu

Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Bir Fedora 26 LAMP VPSye Directus 6.4 CMS Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Ubuntu 16.04 Üzerine Mattermost 5.2 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,

Linuxta TeamTalk Sunucusu Kurma

Linuxta TeamTalk Sunucusu Kurma

TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Kök olmayan kullanıcılara giriş yapmak için SSH anahtarınızı kullanma

Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Debian 9da Diaspora ile Sosyal Ağınızı Kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz

Debian 9 Üzerinde Yakıt CMS Kurulumu

Debian 9 Üzerinde Yakıt CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Arch Linux Üzerinde PostgreSQL 11.1 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Ubuntu 16.10 Üzerinde Snipe-IT Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Linuxta Ranger Terminal Dosya Yöneticisini Yükleme

Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Ubuntu 18.04 LTS Kaynaktan Brotli Nasıl Yapılır

Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Ubuntu 16.04 LAMBA VPS Üzerine Omeka Classic 2.4 CMS Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Arch Linux Üzerinde Nginx 1.14 Kurulumu

Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

Linuxta SSH ile Kök Girişini Devre Dışı Bırakma veya Kısıtlama

SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Ubuntu 16.04 Üzerine RabbitMQ Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?