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 .



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?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun