نحوه راه اندازی یک برنامه وب Meteor.js با MongoDB و Apache در Ubuntu 16.04 LTS

Meteor.js یک چارچوب متن باز ، JavaScript است که با Node.js در ذهن نوشته شده است. به دلیل دیدگاه خود در ساخت برنامه های وب در JavaScript خالص محبوب است. Meteor از پشتیبانی JavaScript جلویی که در مرورگر وب اجرا می شود ، و همچنین JavaScript با پشتیبان ، که روی سرور میزبان اجرا می شود ، استفاده می کند. این برنامه با چهارچوبهای جلویی JavaScript ، مانند React و Angular.js و همچنین MongoDB ، یک پایگاه داده محبوب NoSQL ، بسیار خوب ادغام می شود. چند دلیل مهم برای انتخاب Meteor.js به شرح زیر است:

  • Meteor.js یک چارچوب کامل پشته است. بنابراین با استفاده از آن ، همه چیزهایی را که می توانستید به آن نیاز داشته باشید بدست می آورید: بانک اطلاعاتی ، قسمت جلویی ، باطن. Meteor یک کار شگفت انگیز در پیوند دادن همه آنها با هم انجام می دهد.

  • سرعت. سیستم بسته بصری Meteor ابزارهای بسیاری را در اختیار شما قرار می دهد که شاید برای تکمیل برنامه خود نیاز داشته باشید.

  • این پشتیبانی خوب از گروه توسعه دهندگان Meteor ، و همچنین توسعه دهندگان دیگر که از آن استفاده می کنند. شما به راحتی قادر خواهید بود مشکلاتی را که پیدا کرده اید دریابید و آنها را به سرعت برطرف کنید.

در این آموزش اهداف زیر را در Ubuntu 16.04 محقق خواهیم کرد:

  • Node.jsزمان اجرا Javascript را نصب کنید .

  • نصب Meteor.js.

  • MongoDBپایگاه داده مورد نظر شهاب را نصب کنید .

  • Apacheپروکسی معکوس مورد نظر خود را نصب کنید و در صورت امکان دامنه خود را تنظیم کنید.

  • وب سایت ما را امتحان کنید.

  • وب سایت ما را برای تولید تنظیم کنید.

نصب Node.js

ابتدا باید Node.js را که مترجم جاوا اسکریپت و هسته Meteor است ، نصب کنید. این امکان را به ما می دهد تا شهاب و سایر برنامه های Node.js را که ممکن است در آینده داشته باشیم اجرا کنیم. در این شرایط ما Node.js 8. را نصب خواهیم کرد. برای شروع بارگیری ، به سادگی موارد زیر را در ترمینال خود اجرا کنید.

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

منتظر اتمام بارگیری و نصب باشید.

نصب MongoDB

بعد ، ما پایگاه داده خود را نصب خواهیم کرد: MongoDB. MongoDB یک پایگاه داده اسناد NoSQL منبع باز و منبع آزاد است و پایگاه داده مورد نظر Meteor است. این یک قالب JSON مانند برای اسناد خود استفاده می کند ، برخلاف جداول ساختاری در یک پایگاه داده سنتی SQL.

کلید عمومی MongoDB را که توسط APT(ترمینال پیشرفته بسته بندی) استفاده می شود وارد کنید. این به APT اجازه می دهد تا بسته را بررسی کند. در این حالت ، MongoDB.

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

پرونده لیست لازم را برای اوبونتو 16.04 ایجاد کنید.

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 را شروع کنید و صبر کنید تا نصب تمام شود.

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

سرویس systemd را برای ویرایش باز کنید.

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

برای تکمیل خدمات سیستم شده ، موارد زیر را کپی و چسباندن کنید.

[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-O" برای ذخیره و " Control-X" برای خارج شدن استفاده کنید.

سرویس سیستمی MongoDB را با تایپ کردن sudo systemctl start mongodbدر ترمینال خود اجرا کنید.

برای تأیید صحت موفقیت آمیز ، موارد زیر را تایپ کنید.

sudo systemctl status mongodb

خواهید دید که این سرویس فعال است.

نصب و راه اندازی Apache2

بعد ، آپاچی را نصب خواهیم کرد. Apache یک نرم افزار سرور وب منبع آزاد و آزاد است که به عنوان یک پروکسی معکوس نیز عمل می کند ، همان چیزی است که ما در این آموزش از آن استفاده خواهیم کرد. یک پراکسی معکوس برای اتصال برنامه Meteor.js ما به آن لازم است port 80. Node.js برنامه های کاربردی را بدون دسترسی به ریشه در آن پورت مسدود می کند. آپاچی به rootصورت خودکار و همچنین به هم متصل می شود port 80، بنابراین دیگر لازم نیست نگران این موضوع باشیم وقتی زمان اجرای وب سایت ما فرا رسید.

آپاچی را نصب کنید.

sudo apt update && sudo apt install apache2

برای اینکه امکان دسترسی به پورت های وب خارجی از جمله port 80، ما باید دیوار آتش خود را برای آپاچی پیکربندی کنیم. ما این کار را از طریق UFW(فایروال بدون عارضه) انجام می دهیم.

sudo ufw allow 'Apache Full'

این امکان دسترسی به Apache Fullنمایه "" را می دهد. این به ما ترافیک ورودی را می دهد port 80، و این همان چیزی است که برنامه ما در حال اجرا خواهد بود.

نصب Meteor.js و ایجاد برنامه اصلی ما

اکنون چارچوب وب خود را نصب خواهیم کرد: Meteor.js. ما از یک اسکریپت ساده bash تهیه شده توسط تیم Meteor برای نصب آن استفاده خواهیم کرد.

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

صبر کنید تا نصب تمام شود. اساساً آنچه اسکریپت انجام می دهد این است که شهاب را از وب سایت رسمی بارگیری می کند ، و آن را در سطح جهان نصب می کند ، بنابراین ما می توانیم از هر کجا استفاده کنیم. پس از اتمام ، می توانیم دایرکتوری برنامه خود را ایجاد کنیم. شهاب یک ابزار کوچک مفید برای ما دارد که می توانیم از آن استفاده کنیم meteor create. برای ایجاد فهرست برنامه خود ، موارد زیر را تایپ کنید.

meteor create <projectname>

پوشه با نام مشخص شده ( <projectname>) ایجاد می شود.

پروکسی معکوس Apache ما را تنظیم کنید

اکنون که دایرکتوری برنامه ما تنظیم شده است ، می توانیم پروکسی معکوس خود را تنظیم کنیم. آپاچی از ماژولی به نام استفاده می کند mod_proxy، که پروکسی را برای آپاچی پیاده سازی می کند.

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

با استفاده از این ماژول ، ماژول را نصب کرده و در اختیار Apache قرار می دهد.

در مرحله بعد ، ما نیاز به فعال کردن همه ماژول های لازم برای اجرای Apache داریم. ما این کار را با a2enmodابزاری انجام می دهیم که ماژول هایی را برای Apache فراهم می کند. این ماژولها به ما این امکان را می دهد تا از پروکسی معکوس استفاده کنیم. به سادگی این دستورات را در ترمینال خود تایپ کنید.

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

پس از آن ، ما باید از راه اندازی سایت پیش فرض آپاچی غیرفعال کنیم ، بنابراین می توانیم خودمان را راه اندازی کنیم. در غیر این صورت ، برنامه پیش فرض آپاچی بر ما غلبه خواهد کرد. برای غیرفعال کردن سایت پیش فرض ، موارد زیر را به سادگی اجرا کنید.

sudo a2dissite 000-default

اکنون پرونده میزبان مجازی خود را ایجاد خواهیم کرد. برای انجام این کار ، فقط یک ویرایشگر متن را باز کنید.

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

موارد زیر را کپی و جایگذاری کنید.

<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 می گوید که به پورت 80 وصل شود ، همان چیزی است که ما برای برنامه وب خود می خواهیم.

  • ProxyPass: آدرس IP سایتی که می خواهید به پروکسی معکوس ارسال کنید. این به احتمال زیاد IP VPS شما خواهد بود

  • ServerName: نام سرور شما (معمولاً نام پیش فرض localhost) است.

پس از تمام شدن تنظیمات لازم ، " Control-O" برای ذخیره و " Control-X" از آن برای خروج از سیستم استفاده شد.

برای اولین بار سایت را اجرا کنید

برای آزمایش و اطمینان از اجرای وب سایت ، موارد زیر را در فهرست پروژه تایپ کنید.

meteor

خروجی زیر را نشان می دهد که سایت شما با موفقیت شروع شده است.

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

توجه داشته باشید که Meteor ، به طور پیش فرض گوش می کند port 3000.

راه اندازی وب سایت ما برای تولید

برای اینکه مطمئن شویم برنامه ما قادر به اجرای برنامه نیست ، از یک سرویس سیستمدل استفاده خواهیم کرد. این سرویس سیستم ، مشابه آنچه در بالا با MongoDB انجام دادیم ، اطمینان خواهد داد که وب سایت ما هر زمان که سیستم ما شروع به کار کند ، راه اندازی می شود و در حال اجراست. همچنین در صورت خراب شدن به هر دلیلی ، برنامه ما را مجدداً راه اندازی می کند. برای راه اندازی سرویس سیستم شده ما ، موارد زیر را در ترمینال خود تایپ کنید.

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

در اینجا آنچه می خواهید پرونده شما به نظر برسد ، اینجاست.

[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

توجه : فراموش نکنید projectnameکه نام پروژه و yourusernameنام کاربری VPS را جایگزین کنید .

در اینجا چند خط اصلی برای یادآوری شما آورده شده است.

  • WorkingDirectory: فهرست برنامه شما.

  • Restart: آیا مجدداً راه اندازی مجدد برنامه آن به هر دلیلی متوقف می شود.

  • User: نام کاربری شما.

  • Environment=PWD: یکسان به WorkingDirectory.

  • Environment=PORT: پورتي كه برنامه شما در حال اجراست. پیش فرض است 3000.

ذخیره کنید و فایل را ببندید.

اکنون سرویس را فعال و شروع می کنیم.

sudo systemctl enable <projectname>.service

<projectname>نام پرونده خدمتی که ایجاد کردیم کجاست .

سپس خدمات را شروع می کنیم.

sudo systemctl start <projectname>.service

درخواست شما شروع می شود برای تأیید اینکه راه اندازی شده است ، فقط موارد زیر را اجرا کنید.

sudo systemctl status <projectname>

شما تأیید می کنید که این سرویس با موفقیت شروع شده است ، فعال است.

در مرحله بعد ، وب سایت خود را بررسی خواهیم کرد. در مرورگر وب مورد نظر خود ، به آدرس IP خود بروید.

http://your-server-ip/

صفحه نمونه شهاب را مشاهده خواهید کرد ، تصدیق می کند که همه کارها را به درستی انجام داده اید.

مدیریت برنامه ما

اکنون که برنامه خود را شروع کرده ایم ، باید آنرا مدیریت کنیم.

راه اندازی مجدد برنامه شما

sudo systemctl restart <projectname>

متوقف کردن برنامه

sudo systemctl stop <projectname>

مشاهده وضعیت برنامه

sudo systemctl status <projectname>

مشاهده سیاههها

journalctl -u <projectname>

اکنون با موفقیت پیکربندی MongoDB ، Apache و Meteor را تنظیم کرده و یک وب سرور Meteor.js را برای تولید ایجاد کرده اید. حال بقیه به عهده شماست ، تا وب سایت خود را در قسمت جلویی و قسمت عقب طراحی کنید. شما می توانید به MongoDB دسترسی داشته باشید تا بتوانید داده های مورد نیاز خود را ذخیره کنید ، و Node.js که ماژول های متنوعی را از طریق Node Package Manager ( NPM) برای تقویت بیشتر باطن شما ارائه می دهد. برای مستندات بیشتر ، به سایت Meteor مراجعه کنید ، جایی که می توانید نحوه سفارشی سازی وب سایت خود را به دلخواه خود بیاموزید. همچنین ، هنگام انجام عملیات پایگاه داده ، می توانید به مستندات MongoDB مراجعه کنید .



نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد