mohammad reza
mohammad reza
خواندن ۲ دقیقه·۲ سال پیش

دیپلوی کردن پروژه next.js روی سرور

nextjs
nextjs

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

موضوع : deploy next.js project in centos7

هدفم از این نوشته اینه دوستانی که رسیدن به این قسمت که پروژه باید دیپلوی و یا پابلیش بشه روی سرور راهنماییشون کنم.

شاید دوستان بگن کار ابتدایی هست ولی دوستانی که با سرور آشنایی کمی دارن شاید نتونن درست حسابی از پسش بر بیان و نمیدونن چی سرچ کنند تا به نتیجه برسن . از طرفی شرکت های ارائه دهنده سرور این کارارو انجام نمیدن چون زمان بره براشون و هم هزینه برای شما داره هم برای شرکت.

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

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

بعد از خرید سرور توسط putty وارد محیط کامند لاین بشید . خوب فرض بر این است شما پیش نیاز هارو روی سروتون نصب کردید که مهم ترینش که خودتون میدونید node.js هستش.

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

در دایرکتوری که پروژتون رو قرار دادید دستور :

npm run start

رو بزنید و پروژتون روی پورت مشخص شده توسط خودتون اجرا بشه که پیش فرض 3000 هستش:

SERVERIP:3000

برای اینکه دستورتون بعد از بستن putty استاپ نشه دو راه دارید که :

- استفاده از pm2

- استفاده از screen

نصب pm2 :

yum install pm2

خوب بعد از نصب در دایرکتوری پروژتون دستور :

pm2 start npm --name PROJECTNAME start --port 3000

اسکرین (screen) :

اگر از اسکرین استفاده کنید نیازی به نصب پکیج یا افزونه ای ندارید

فقط کافیه دستورات زیر رو به ترتیب بزنید.

screen
npm run start

بعد از وارد کردن دستورات بالا ctrl + A + D رو بزنید تا پنجره بسته بشه.

خوب تا اینجای کار پروژه رو ران کردین و کار تمومه از اینجا به بعد مربوط میشه به اتصال دامنه به پورت مشخص شده.

طبیعتا آدرس ip گزینه مناسبی برای آدرس یک سایت نیست. پس باید چه کرد ؟

خوب دوستان اگر سرور شما آپاچی باشه باید وارد پوشه httpd.conf بشید و چند خط کد واردش کنید

<VirtualHost *:80> ... ProxyRequests Off ProxyPreserveHost On ProxyVia Full <Proxy *> Require all granted </Proxy> ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ ... </VirtualHost>
<VirtualHost *:443> ... ProxyPreserveHost on ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ LogLevel warn ... </VirtualHost>

بعد از اون دستور

service httpd restart

رو بزنید تا آپاچی ی بار ریستارت بشه و دیگه کار تمومممم.

سعی کردم خیلی خلاصه و مفید که حوصله سربر نباشه بگم بازم اگر مشکلی داشتید میتونید از طریق ایمیل با من در ارتباط باشید : golshahimohammadreza@gmail.com و یا ای دی تلگرامم : @mohammadlth

اگرم نیازمند نصب و کانفیگ سرور هستین ما تو ویگن وب میتونیم بهتون کمک کنیم

امیدوارم این مطلب به دردتون خورده باشه.


سرورnextjsبرنامه نویسیcentos7node js
سرزنش ها گر کند خار مغیلان غم مخور
شاید از این پست‌ها خوشتان بیاید