Node.js یک محیط زمان اجرای جاواسکریپت منبع باز است که می توانید برنامه های شبکه و سرور مجازی را به راحتی بسازید. این پلتفرم روی لینوکس ، OS X ، FreeBSD و ویندوز اجرا می شود و برنامه های آن به زبان JavaScript نوشته شده اند. برنامه های Node.js را می توان در خط فرمان اجرا کرد اما ما به شما یاد می دهیم که چگونه آنها را به عنوان یک سرویس اجرا کنید ، بنابراین به صورت خودکار در هنگام ریبوت یا خرابی مجدداً راه اندازی می شوند ، و می توانید از آنها در یک محیط تولید استفاده کنید.
در این آموزش ، تنظیم محیط Node.js آماده تولید را که از دو سرور مجازی CentOS 7 تشکیل شده است ، پوشش خواهیم داد. یک سرور مجازی برنامه های Node.js را مدیریت می کند که توسط PM2 اداره می شود ، و دیگری دسترسی به برنامه را از طریق یک پروکسی معکوس Nginx به سرور مجازی برنامه فراهم می کند.
نسخه اوبونتو این آموزش را می توان در این لینک پیدا کرد.
پیش نیازها
این راهنما از دو سرور مجازی CentOS 7 با شبکه خصوصی (در یک مرکز داده) استفاده می کند. شبکه های خصوصی را می توان در هنگام ایجاد (در بخش Select additional options) روی سرور مجازی های جدید پیکربندی کرد. با نامهای زیر را به آنها میدهیم:
app: سرور مجازی ی که در آن Node.js ، برنامه Node.js و PM2 را نصب خواهیم کرد .
web: سرور مجازیی که در آن سرور مجازی وب Nginx را نصب خواهیم کرد ، که به عنوان یک پروکسی معکوس برای برنامه شما عمل می کند. کاربران برای دریافت برنامه Node.js شما به آدرس IP عمومی این سرور مجازی دسترسی پیدا می کنند.
توجه: -گر قصد دارید از یک سرور مجازی موجود که در حال حاضر شبکه های خصوصی پیکربندی شده ندارد ، استفاده کنید، به مستندات vpsgol تحت عنوان نحوه فعال سازی شبکه خصوی روی دراپلت مراجعه کنید .
قبل از شروع این راهنما ، باید یک کاربر معمولی غیر ریشه داشته باشید که دارای امتیازات sudo و روی هر دو سرور مجازی شما تنظیم شده باشد – این همان کاربری است که باید با آن به سرور مجازی خود وارد شوید. با پیروی از راهنمای تنظیم اولیه سرور مجازی CentOS 7 می توانید نحوه پیکربندی یک حساب کاربری معمولی را یاد بگیرید.
دستورات اجرا شده بر روی سرور مجازی app:
⦁ $ an_example_command_on_app

دستورات اجرا شده بر روی سرور مجازی web:
⦁ $ an_example_command_on_web

استفاده از یک سرور مجازی واحد برای این آموزش امکان پذیر است ، اما باید در طول مسیر چند تغییر ایجاد کنید. هر جایی که از آدرس IP خصوصی سرور مجازی app استفاده میشود، به سادگی از آدرس IP localhost ، یعنی 127.0.0.1 استفاده کنید.
در اینجا نموداری از تنظیمات شما پس از دنبال کردن این آموزش آورده شده است:

اگر می خواهید به جای آدرس IP عمومی آن ، از طریق نام دامنه به سرور مجازی وب خود دسترسی پیدا کنید ، یک نام دامنه خریداری کنید و سپس این آموزش ها را دنبال کنید:
• نحوه تنظیم نام میزبان با vpsgol
• چگونه از ثبت کنندگان دامنه به نام سرور مجازی vpsgol اشاره کنیم
بیایید با نصب ران تایم Node.js در سرور مجازی app شروع کنیم.
مرحله 1 – نصب Node.js
آخرین نسخه LTS Node.js را بر روی سرور مجازی app نصب خواهیم کرد.
با استفاده از کاربر معمولی و غیر ریشه با امتیازات sudo به سرور مجازی app خود SSH کنید.
در سرور مجازی app ، اجازه دهید برای دانلود فایل پیکربندی مخزن NodeSource RPM از Curl استفاده کنیم:
⦁ $ curl -L -o nodesource_setup.sh https://rpm.nodesource.com/setup_10.x

CURL از پروتکل HTTPS برای دانلود اسکریپت ستاپ بر روی سرور مجازی شما استفاده می کند ، و خروجی شامل اطلاعات مربوط به دانلود میباشد:
Output
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11109 100 11109 0 0 70128 0 –:–:– –:–:– –:–:– 70757

در مرحله بعد ، باید محتوای اسکریپت را بازرسی کنید. دستور زیر اسکریپت راه اندازی NodeSource را در کنسول سرور مجازی های شما باز می کند ، که می توانید با استفاده از اسکریپت راه اندازی NodeSource (از مخزن Github توزیع های NodeSource) برای تأیید صحت اسکریپتی که به درستی دانلود کرده است ، cross-reference انجام دهید:
⦁ $ vi nodesource_setup.sh

پس از رضایت از فایل ، با تایپ کردن: q از vi خارج شوید تا به خط فرمان بازگردید.
اکنون بیایید اسکریپت تنظیم را اجرا کنیم تا مخزن NodeSource RPM را نصب کنیم. این کار ما را قادر می سازد از داخل مدیر بسته yum به مخزن NodeSource دسترسی پیدا کنیم:
⦁ $ sudo -E bash nodesource_setup.sh

اسکریپت برای مرجع ما اطلاعات مربوط به ستاپ را صادر می کند:
Output
## Installing the NodeSource Node.js 10.x repo…

## Inspecting system…

+ rpm -q –whatprovides redhat-release || rpm -q –whatprovides centos-release || rpm -q –whatprovides cloudlinux-release || rpm -q –whatprovides sl-release
+ uname -m

## Confirming “el7-x86_64” is supported…

+ curl -sLf -o /dev/null ‘https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm’

## Downloading release setup RPM…

+ mktemp
+ curl -sL -o ‘/tmp/tmp.2aCcULVx8n’ ‘https://rpm.nodesource.com/pub_10.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm’

## Installing release setup RPM…

+ rpm -i –nosignature –force ‘/tmp/tmp.2aCcULVx8n’

## Cleaning up…

+ rm -f ‘/tmp/tmp.2aCcULVx8n’

## Checking for existing installations…

+ rpm -qa ‘node|npm’ | grep -v nodesource

## Run `sudo yum install -y nodejs` to install Node.js 10.x and npm.
## You may also need development tools to build native addons:
sudo yum install gcc-c++ make
## To install the Yarn package manager, run:
curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install yarn

قبل از نصب Node.js مهم است که تمام اطلاعات ذخیره شده از yum را پاک کنید. پاک کردن حافظه نهان اطمینان حاصل خواهد کرد که yum از اتصال شبکه برای دریافت Node.js از مخازن جدید NodeSource ما استفاده می کند (که از بروز هرگونه درگیری احتمالی ناشی از بسته های منسوخ شده جلوگیری می کند):
⦁ $ sudo yum clean all

در مرحله بعد همه ابرداده ها را برای repo های yum فعال شده دانلود و استفاده خواهیم کرد. این کار اطمینان حاصل می کند که جستارهای yum ما در اسرع وقت تکمیل میشوند:
⦁ $ sudo yum makecache fast

برای کامپایل و نصب add-ons بومی از npm نیز باید ابزارهای ساخت را نصب کنیم:
⦁ $ sudo yum install -y gcc-c++ make

اکنون می توانیم آخرین نسخه بسته Node.js را نصب کنیم:
⦁ $ sudo yum install -y nodejs

با بررسی نسخه خود با این دستور ، تأیید کنید که Node نصب شده است:
⦁ $ node -v

خروجی شما شماره نسخه شما را نشان می دهد:
اکنون ران تایم Node.js نصب شده است و آماده اجرای یک برنامه است. بیایید یک برنامه Node.js بنویسیم.
مرحله 2 – ایجاد برنامه Node.js
اکنون یک برنامه Hello World ایجاد خواهیم کرد که به سادگی “Hello World” را به هر درخواست HTTP باز می گرداند. این یک برنامه نمونه است که به شما در راه اندازی Node.js کمک می کند ، که می توانید برنامه خود را جایگزین آن کنید فقط مطمئن شوید که برنامه خود ر به گونه ای اصلاح کرده اید که به آدرس های IP و پورت های مناسب گوش دهید.
از آنجا که می خواهیم برنامه Node.js ما درخواستهایی را که از سرور مجازی پروکسی معکوس (web) می آیند ، ارائه کند ، ما از رابط شبکه خصوصی سرور مجازی app خود برای ارتباطات بین سرور مجازی استفاده خواهیم کرد. آدرس شبکه خصوصی سرور مجازی app خود را جستجو کنید.
اگر از یک دراپلت vpsgol به عنوان سرور مجازی خود استفاده می کنید ، می توانید آدرس IP خصوصی سرور مجازی را از طریق سرویس Metadata جستجو کنید. در سرور مجازی app ، از دستور curl برای بازیابی آدرس IP استفاده کنید:
⦁ $ curl -sw “\n” http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address

بهتر است خروجی (آدرس IP خصوصی) را کپی کنید ، زیرا برای پیکربندی برنامه Node.js استفاده خواهد شد.
در مرحله بعد ، برنامه Node.js خود را برای ویرایش ایجاد و باز کنید. برای این آموزش از vi برای ویرایش یک برنامه نمونه به نام hello.js استفاده خواهیم کرد:
⦁ $ vi hello.js

کد زیر را در فایل وارد کنید و حتما آدرس IP خصوصی سرور مجازی app را برای هر دو مورد هایلایت شده APP_PRIVATE_IP_ADDRESS جایگزین کنید. در صورت تمایل ، می توانید در هر دو مکان ، پورت هایلایت شده ، 8080 را جایگزین کنید (حتما از پورت غیر ادمین ، یعنی 1024 یا بالاتر استفاده کنید):
hello.js
var http = require(‘http’);
http.createServer(function (req, res) {
res.writeHead(200, {‘Content-Type’: ‘text/plain’});
res.end(‘Hello World\n’);
}).listen(8080, ‘APP_PRIVATE_IP_ADDRESS’);
console.log(‘Server running at http://APP_PRIVATE_IP_ADDRESS:8080/’);

اکنون با فشار دادن ESC برای خروج از حالت –INSERT—فایل را ذخیره کنید و از آن خارج شوید ، و پس از آن: wq را برای نوشتن و ترک برنامه در یک فرمان واحد وارد کنید.
این برنامه Node.js به سادگی آدرس و پورت IP مشخص شده را دنبال می دهد و “Hello World” را با یک کد موفقیت 200 HTTP برمی گرداند. بدان معنا که برنامه فقط از سرور مجازی های همان شبکه خصوصی مانند سرور مجازی وب ما قابل دسترسی است.
اگر می خواهید تست کنید که برنامه شما کار می کند ، این دستور node را روی سرور مجازی app اجرا کنید:
⦁ $ node hello.js

از آنجا که پیکربندی ما فقط ترافیک را رله می کند ، فقط باید به SELinux بگوییم که سرور مجازی httpd ، در مورد ما Nginx ، می تواند از شبکه برای رله ترافیک در پیکربندی پروکسی معکوسی که تنظیم کرده ایم استفاده کند. ما از پرچم -P استفاده خواهیم کرد ، تا اطمینان حاصل شود که تغییرات دائمی هستند (حذف این پرچم منجر به بازگشت httpd_can_network_relay به حالت پیش فرض آن ، یعنی خاموش ، با راه اندازی مجدد سرور مجازی خواهد شد):
⦁ $ sudo setsebool -P httpd_can_network_relay on

با فرض اینکه برنامه Node.js شما در حال اجرا است ، و برنامه شما و تنظیمات Nginx صحیح هستند ، باید بتوانید از طریق پروکسی معکوس سرور مجازی web به برنامه خود دسترسی پیدا کنید. با دسترسی به URL سرور مجازی web خود (آدرس IP عمومی یا نام دامنه) آن را امتحان کنید.
توجه: اگر همچنین قصد داشتید از سرور مجازی web خود برای میزبانی سایتهای دیگر (به عنوان میزبان مجازی معمولی) استفاده کنید ، لازم است که httpd_can_network_connect را روشن کنید.

نتیجه
اکنون برنامه Node.js شما در پس یک پروکسی معکوس Nginx در حال اجرا است. این تنظیم پروکسی معکوس به اندازه کافی انعطاف پذیر است تا دسترسی کاربران شما به دیگر برنامه ها یا محتوای وب استاتیک را که می خواهید به اشتراک بگذارید ، فراهم نماید.
همچنین اگر به دنبال انتقالات رمزگذاری شده بین سرور مجازی وب و کاربران خود هستید ، در اینجا آموزشی مطرح شده است که به شما کمک می کند تا پشتیبانی HTTPS (TLS / SSL) را تنظیم کنید

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه React – نصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8 – نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکا – خرید سرور مجازی ارزان هلند – vps – خرید vps هلند – خرید سرور مجازی آمریکا – خرید vps فرانسه – تست vps – سرور مجازی تست – سرور مجازی ویندوز – ارزانترین vps – خرید وی پی اس – vps ارزان –