نصب و کانفیگ Nginx در Debian 9
Nginx وب سرور رایگان و یک HTTP Server با کارایی بالا است ، از Nginx برای load balancing, mail proxy server, generic TCP/UDP pr/ox*y server استفاده میشود. این وب سرور هم برای سایت های کم ترافیک و هم پر ترافیک بسیار مناسب و جایگزین مناسبی به جای Apache است. وب سرور Nginx در سایت هایی مانند Yandex, DropBox, NetFlix, WordPress استفاده میشود.در این مقاله آموزش نصب Nginx در Debian رو انجام میدیم.
نصب و کانفیگ Nginx در Debian 9
ابتدا وارد ترمینال میشیم و آپدیت سیستم عامل رو انجامی میدیم
apt-get update && sudo apt-get upgrade
که اگه نیاز به آپدیت شدن سیستم عامل بود ، برای نمونه دستورات زیر رو برمیگردونه
Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libperl5.24 perl perl-base perl-modules-5.24 4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 7813 kB of archives. After this operation, 9216 B of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://security.debian.org stretch/updates/main amd64 libperl5.24 amd64 5.24.1-3+deb9u3 [3527 kB] Get:2 http://security.debian.org stretch/updates/main amd64 perl amd64 5.24.1-3+deb9u3 [219 kB] Get:3 http://security.debian.org stretch/updates/main amd64 perl-base amd64 5.24.1-3+deb9u3 [1344 kB] Get:4 http://security.debian.org stretch/updates/main amd64 perl-modules-5.24 all 5.24.1-3+deb9u3 [2723 kB] Fetched 7813 kB in 0s (12.0 MB/s) (Reading database ... 36668 files and directories currently installed.) Preparing to unpack .../libperl5.24_5.24.1-3+deb9u3_amd64.deb ... Unpacking libperl5.24:amd64 (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ... Preparing to unpack .../perl_5.24.1-3+deb9u3_amd64.deb ... Unpacking perl (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ... Preparing to unpack .../perl-base_5.24.1-3+deb9u3_amd64.deb ... Unpacking perl-base (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ... Setting up perl-base (5.24.1-3+deb9u3) ... (Reading database ... 36668 files and directories currently installed.) Preparing to unpack .../perl-modules-5.24_5.24.1-3+deb9u3_all.deb ... Unpacking perl-modules-5.24 (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ... Setting up perl-modules-5.24 (5.24.1-3+deb9u3) ... Setting up libperl5.24:amd64 (5.24.1-3+deb9u3) ... Setting up perl (5.24.1-3+deb9u3) ... Processing triggers for libc-bin (2.24-11+deb9u3) ... Processing triggers for man-db (2.7.6.1-2) ...
نصب و کانفیگ Nginx در Debian 9
نصب Nginx در Debian 9
apt-get install nginx
با زدن دستور بالا نصب انجام شده و خروجی دستور مانند کد زیر خواهد بود
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-common nginx-full Suggested packages: fcgiwrap nginx-doc The following NEW packages will be installed: libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx nginx-common nginx-full 0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/1585 kB of archives. After this operation, 2865 kB of additional disk space will be used. Do you want to continue? [Y/n] y
بعد از نصب Nginx بصورت خودکار فعال میشه ، برای بررسی وضعیت وب سرور دستور زیر رو میتونین بزنین
systemctl status nginx
که خروجی زیر رو میده
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-04-14 11:44:12 CDT; 4min 10s ago Docs: man:nginx(8) Process: 6412 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 6409 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 6413 (nginx) CGroup: /system.slice/nginx.service ├─6413 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ├─6414 nginx: worker process └─6415 nginx: worker process
مدیریت Nginx server
با دستور زیر nginx بصورت خودکار بعد از reboot شدن سرور فعال خواهد شد
systemctl enable nginx
همچنین این دستور از خودکار فعال شدن nginx بعد از reboot سیستم عامل جلوگیری میکند
systemctl disable nginx
دستور زیر برای start شدن وب سرور
systemctl start nginx
غیرفعال کردن وب سرور
systemctl stop nginx
ریستارت وب سرور
systemctl restart nginx
کانفیگ Nginx web server
بصورت پیش فرض محل دایرکتوری root وب سرور آدرس /var/www/html/ است.
و فایل تنظیمات دایرکتوری بالا در آدرس /etc/nginx/sites-enabled/default است.
همچنین تنظیمات اصلی وب سرور در آدرس /etc/nginx/nginx.conf است.
در این آموزش نحوه ساخت یک block برای دامنه جدید mydomain.com رو که در مسیر /var/www/mydomain.com قرار داره میپردازیم. با دستور زیر یک پوشه ایجاد میکنیم
mkdir -p /var/www/mydomain.com
سپس یک فایل index.html در اون پوشه ایجاد و با وایرایشگر nano ، کدهای زیر رو در فایل html قرار میدیم
nano /var/www/mydomain.com/index.html
<!DOCTYPE html> <html> <head> <title>mydomain.com</title> </head> <body> <h6>Welcome to mydomain.com</h6> <p>This is a test for the mydomain.com server block.</p> </body> </html>
سپس یک server block در آدرس زیر ایجاد میکنیم
nano /etc/nginx/sites-available/mydomain.com.conf
و کدهای زیر رو در اون قرار میدیم
server { listen 80; listen [::]:80; server_name mydomain.com www.mydomain.com; root /var/www/mydomain.com; index index.html; location / { try_files $uri $uri/ =404; } }
و کد زیر رو میزنیم
ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/mydomain.com.conf
در این مرحله آخر nginx رو بازبینی میکنیم
nginx -t systemctl restart nginx
و طبق تصویر زیر دامنه شما باید از وب سرور جدید بالا اومده باشه

نصب و کانفیگ Nginx در Debian 9
سرور مجازی NVME
نصب Python 3.6.4 در Debian 9
آموزش نصب Python 3.6.4 در Centos 7