در این مقاله قصد داریم نصب Nginx بر روی اوبونتو ۱۸.۰۴ را آموزش دهیم. اما ابتدا باید با مفهوم Nginx آشنا شویم:
Nginx یکی از معروفترین وبسرورها در جهان بوده که مسئولیت میزبانی برخی از پرترافیکترین وبسایتها در اینترنت را بر عهده دارد.
این نرمافزار در برخی از موارد بسیار کاربر پسندتر از آپاچی بوده و میتواند بهعنوان یک وبسرور یا پروکسی استفاده شود. در این آموزش ما نحوهی نصب Nginx را بر روی سرور ابونتو ۱۸.۰۴ توضیح خواهیم داد.
پیش از شروع آموزش باید این پیشنیازها را در اختیار داشته باشید:
وجود یک سرور ابونتو ۱۸.۰۴ و یک کاربر غیر روت با امتیازات sudo. بهعلاوه، باید یک فایروال جهت بلاک کردن قسمتهای غیر ضروری داشته باشید. جهت رعایت این موارد، مقالهی اقدامات اولیه پس از نصب ابونتو ۱۸.۰۴ را مطالعه کنید.
هنگامی که اکانت خود را ساختید، بهعنوان کاربر غیر روت وارد شده و مراحل زیر را بهترتیب انجام دهید:
از آنجایی که Nginx در مخازن ابونتو موجود است، میتوانید برای نصب آن از پکیج apt استفاده کنید.
در ابتدا ایندکس پکیج را آپدیت کنید:
sudo apt update
سپس Nginx را نصب کنید:
sudo apt install nginx
پروفایلهای برنامه ufw موجود را بررسی کنید:
sudo ufw app list
Output
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
اکنون باید پروفایل محدود کنندهای را فعال کنیم که همچنان به ترافیک پیکربندی شما در پورت ۸۰ اجازهی فعالیت بدهد:
sudo ufw allow ‘Nginx HTTP’
حال تغییرات را تائید کنید:
sudo ufw status
OutputStatus: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
بهمنظور بررسی وب سرور، با دستور systemd سیستم را چک کنید تا مطمئن شوید که سرویس با تایپ کردن راهاندازی میشود:
systemctl status nginx
Output
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
CGroup: /system.slice/nginx.service
├─۲۳۶۹ nginx: master process /usr/sbin/nginx -g daemon on;
master_process on;
└─۲۳۸۰ nginx: worker process
اکنون باید به صفحه ورود (landing page) پیشفرض دسترسی داشته باشید تا تائید کنید که نرمافزار بهدرستی از طریق آدرس IP شما راهاندازی میشود:
http://your_server_ip
اکنون باید بتوانید صفحه ورود پیشفرض Nginx را مشاهده کنید:
دایرکتوری را برای example.com بسازید و از –p جهت ساخت هر دایرکتوری مورد نیاز استفاده کنید:
sudo mkdir -p /var/www/example.com/html
مالکیت دایرکتوری را اختصاص دهید:
sudo chown -R $USER:$USER /var/www/example.com/html
چنانچه مقدار unmask را اصلاح نکردهاید، مجوز ریشههای وب شما صحیح هستند. برای اطمینان میتوانید دستور زیر را تایپ کنید:
sudo chmod -R 755 /var/www/example.com
بهوسیلهی nano یا ویرایشگر مورد علاقهی خود، یک صفحه نمونه index.html بسازید:
nano /var/www/example.com/html/index.html
سپس HTML را مانند زیر اضافه کنید:
var/www/example.com/html/index.html
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
هنگامی که کار تمام شد، فایل را سیو کرده و آن را ببندید.
یک بلوک سرور در /etc/nginx/sites-available/example.com ایجاد کنید:
sudo nano /etc/nginx/sites-available/example.com
اطلاعات زیر را در بلوک ایجاد شده کپی کنید و آن را برای دایرکتوری و دامین جدید آپدیت کنید:
/etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
root /var/www/example.com/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
}
هنگامی که کار تمام شد، فایل را سیو کرده و آن را ببندید.
فایل را توسط یک لینک به دایرکتوری sites-enabled فعال کنید:
· sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
اکنون دو بلوک سرور فعال هستند و آمادهی پاسخ به درخواستهای مبتنی بر دستورالعملهای listen و server_name هستند:
بهمنظور جلوگیری از مشکلات احتمالی که میتواند ناشی از اضافه کردن nameserverهای اضافی باشد، باید یک مقدار واحد در فایل /etc/nginx/nginx.conf تعریف شود. برای این کار ابتدا فایل را باز کنید:
sudo nano /etc/nginx/nginx.conf
سپس دستورالعمل server_names_hash_bucket_size را پیدا کرده و علامت # را از آن پاک کنید تا ارتباط خطوط قطع شود:
/etc/nginx/nginx.conf
…
http {
…
server_names_hash_bucket_size 64;
…
}
…
حال خطاهای دستوری را بررسی کنید:
sudo nginx -t
سپس Nginx را ریست کنید تا تغییرات اعمال شوند:
sudo systemctl restart nginx
اکنون مراحل نصب در این قسمت به پایان رسیده و Nginx برای نام دامنه شما فعال شده است.
سینداد یعنی هدیهی سیمرغ، یا فرزند سیمرغ؛ به عبارتی یعنی خود سیمرغ، با همه ی شگفتی هایش، اما جوانتر و سرزنده تر. و این چیزی است که ما سعی می کنیم در سینداد باشیم. از سال ۱۳۸۵ دانش مان را به صورت خدماتی در حوزه ی هاستینگ، شبکه و تولید نرم افزار در اختیار مشتریان مان قرار داده ایم و به این افتخار می کنیم که تک تک آنها تا به امروز همراه ما مانده اند. باور داریم که سینداد صرفاً یک شرکت نیست، بلکه نوعی باور است به ارائه ی شگفت انگیز از هر چیز.