一、Nginx介紹
Nginx是一款高性能的Web服務器軟件,是一個輕量級的HTTP和反向代理服務器。Nginx最初是由Igor Sysoev開發的,其目的是為了解決C10K問題。C10K就是指在同一時間內有10,000個客戶端與服務器建立連接。
二、Linux下安裝Nginx
在Linux系統中,我們可以使用yum命令進行安裝,具體步驟如下:
//更新yum源 yum update //安裝Nginx yum install nginx
安裝完畢後,我們可以啟動Nginx:
//啟動Nginx systemctl start nginx //停止Nginx systemctl stop nginx //重啟Nginx systemctl restart nginx
三、配置Nginx
默認情況下,Nginx的配置文件位於/etc/nginx/nginx.conf,可以使用vim等編輯器進行修改。
修改Nginx的監聽端口為80:
//找到server段並修改listen端口為80 server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; ... }
修改完成後,需要重啟Nginx服務。
四、Nginx反向代理配置
Nginx的反向代理功能極為強大,可以將不同的請求轉發到不同的服務器上,從而實現負載均衡、高可用性等功能。
例如,我們可以將所有請求都轉發到上游服務器192.168.1.1,並在返回數據前添加「hello」:
//在http段下添加upstream段 http { upstream backend { server 192.168.1.1; } //在server段下添加location段 server { listen 80 default_server; listen [::]:80 default_server; server_name _; location / { proxy_pass http://backend; sub_filter '' 'Nginx '; sub_filter_once on; } ... } }
修改完成後,需要重新加載Nginx配置文件。
五、Nginx限速配置
在高並發的場景下,為了保證服務的穩定性,通常需要對訪問進行限速。
例如,我們可以將每秒鐘對同一個IP地址的請求限制在5次:
//在http段下添加limit_req_zone段 http { limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s; //在server段下添加location段 server { listen 80 default_server; listen [::]:80 default_server; server_name _; location / { limit_req zone=one burst=5; ... } ... } }
修改完成後,需要重新加載Nginx配置文件。
六、Nginx下載配置
Nginx可以作為HTTP服務器,並支持文件下載功能。我們可以使用Nginx來提供高效的文件下載服務。
例如,我們要提供一個名為example.zip的文件進行下載,配置如下:
//在http段下添加server段 http { server { listen 80; server_name example.com; charset utf-8; location / { root /var/www/example; index index.html index.htm; } location /download/ { alias /var/www/example/files/; internal; } } }
修改完成後,需要重新加載Nginx配置文件。
以上配置完成後,用戶可以通過以下鏈接進行下載:
http://example.com/download/example.zip
七、總結
本文介紹了Nginx在Linux環境下的安裝和配置,並針對反向代理、限速和文件下載等功能進行了詳細講解。通過本文的學習,可以更好地掌握Nginx的使用方法。
原創文章,作者:UFBWQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/334613.html