Nginx (بخوانید انجین ایکس) یک وبسرور رایگان و متنباز با کارایی بالا است. بعلاوه، Nginx به عنوان reverse proxy server و load balancer نیز ایفای نقش میکند. ما در این مطلب به آموزش نصب Nginx روی CentOS 8 و کانفیگ آن به منظور میزبانی از یک وبسایت استاتیک میپردازیم.
1398/11/052960 بازدید
Nginx (بخوانید انجین ایکس) یک وبسرور رایگان و متنباز با کارایی بالا است. بعلاوه، Nginx به عنوان reverse proxy server و load balancer نیز ایفای نقش میکند. ما در این مطلب به آموزش نصب Nginx روی CentOS 8 و کانفیگ آن به منظور میزبانی از یک وبسایت استاتیک میپردازیم.
مراحل نصب Nginx روی CentOS 8:
1) با استفاده از فرمان ssh به سرور ابری یا فیزیکی خودتان لاگین نمایید:
php
1ssh user@cloud-server-ip
2) پکیج Nginx را جستجو نمایید:
php
1sudo yum search nginx
3) با استفاده از فرمان yum پکیج Nginx را روی CentOS 8 نصب نمایید:
php
1sudo yum update2sudo yum install nginx
4) تنظیمات فایروال را بروز رسانی کرده و پورتهای تیسیپی 80 و 443 را باز نمایید:
با ما همراه باشید تا تمامی مراحل را با جزئیات بیشتری مورد بررسی قرار دهیم.
گام اول - بروز رسانی سیستم:
بروز نگه داشتن سیستم، کرنل و اپلیکیشنهای نصب شده یک کار حیاتی و بسیار مهم بوده و بر عهده ادمین سیستم است. با استفاده از فرامین زیر سیستم را بروز رسانی کنید:
php
1sudo yum updateinfo2sudo yum update3## Reboot the system if a new kernel update was installed ##4sudo reboot
گام دوم - پیدا کردن پکیج Nginx:
با اجرای فرامین زیر از در دسترس بودن وبسرور Nginx در توزیع لینوکس خودتان، اطلاع حاصل کنید:
php
1Last metadata expiration check: 1:09:02 ago on Sun Nov 24 17:24:15 2019.2============================== Name Exactly Matched: nginx ==============================3nginx.x86_64 : A high performance web server and reverse proxy server4============================= Name & Summary Matched: nginx =============================5nginx-mod-mail.x86_64 : Nginx mail modules6nginx-mod-stream.x86_64 : Nginx stream modules7collectd-nginx.x86_64 : Nginx plugin for collectd8nginx-mod-http-perl.x86_64 : Nginx HTTP perl module9nginx-mod-http-xslt-filter.x86_64 : Nginx XSLT module10nginx-mod-http-image-filter.x86_64 : Nginx HTTP image filter module11nginx-filesystem.noarch : The basic directory layout for the Nginx server12pcp-pmda-nginx.x86_64 : Performance Co-Pilot (PCP) metrics for the Nginx Webserver13nginx-all-modules.noarch : A meta package that installs all available Nginx modules
با اجرای فرمان زیر میتوانید اطلاعاتی درباره ورژن Nginx که در حال نصب آن هستید، کسب نمایید:
php
1sudo yum info nginx
خروجی نمونه:
php
1Last metadata expiration check: 1:11:11 ago on Sun Nov 24 17:24:15 2019.2Installed Packages3Name : nginx4Epoch : 15Version : 1.14.16Release : 9.module_el8.0.0+184+e34fea827Arch : x86_648Size : 1.7 M9Source : nginx-1.14.1-9.module_el8.0.0+184+e34fea82.src.rpm10Repo : @System11From repo : AppStream12Summary : A high performance web server and reverse proxy server13URL : http://nginx.org/14License : BSD15Description : Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and16 : IMAP protocols, with a strong focus on high concurrency, performance and17 : low memory usage.
گام سوم - نصب Nginx:
برای نصب آخرین نسخه پایدار وبسرور Nginx فرمان زیر را اجرا نمایید :
php
1$ sudo yum install nginx
گام چهارم - فعالسازی سرور Nginx
سرویس Nginx را با فرمان systemctl فعال کنید. بدین ترتیب این سرویس در هنگام بوتشدن سرور آغاز و اجرا میگردد:
میتوانید بر اساس نیازتان هر کدام از فرامین زیر را برای start/stop/restart کردن سرور Nginx اجرا نمایید:
php
1sudo systemctl start nginx ## &lt-- start the server ##2sudo systemctl stop nginx ## &lt-- stop the server ##3sudo systemctl restart nginx ## &lt-- restart the server ##4sudo systemctl reload nginx ## &lt-- reload the server ##5sudo systemctl status nginx ## &lt-- get status of the server ##
گام پنجم - باز کردن و فعالسازی پورتهای 80 و 443 با استفاده از فرمان firewall-cmd
TCP ports opened by Nginx – 80 (HTTP), 443 (HTTPS)
Document root directory – /usr/share/nginx/html
از یک ویرایشگر متن برای ویرایش فایلها استفاده کنید. با استفاده از فرمان vi/nano نیز اینکار امکان پذیر است:
php
1$ sudo vi /etc/nginx/nginx.conf
خروجی نمونه:
php
1# For more information on configuration, see:2user nginx;3worker_processes auto;4error_log /var/log/nginx/error.log;5pid /run/nginx.pid;67# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.8include /usr/share/nginx/modules/*.conf;910events {11 worker_connections 1024;12}1314http {15 log_format main '$remote_addr - $remote_user [$time_local] "$request" '16 '$status $body_bytes_sent "$http_referer" '17 '"$http_user_agent" "$http_x_forwarded_for"';1819 access_log /var/log/nginx/access.log main;2021 sendfile on;22 tcp_nopush on;23 tcp_nodelay on;24 keepalive_timeout 65;25 types_hash_max_size 2048;2627 include /etc/nginx/mime.types;28 default_type application/octet-stream;2930 # Load modular configuration files from the /etc/nginx/conf.d directory.31 # See http://nginx.org/en/docs/ngx_core_module.html#include32 # for more information.33 include /etc/nginx/conf.d/*.conf;3435 server {36 listen 80 default_server;37 listen [::]:80 default_server;38 server_name _;39 root /usr/share/nginx/html;4041 # Load configuration files for the default server block.42 include /etc/nginx/default.d/*.conf;4344 location / {45 }4647 error_page 404 /404.html;48 location = /40x.html {49 }5051 error_page 500 502 503 504 /50x.html;52 location = /50x.html {53 }54 }55}
برای مشاهده مستندات سرور Nginx به این لینکمراجعه نمایید.
شما میتوانید تصاویر، js، html و css های خودتان را در آدرس /usr/share/nginx/html/ کپی یا آپلود نمایید: