# Linux系統如何安裝使用Nginx
## 一、Nginx簡介
Nginx(發音為"engine-x")是一款高性能的開源Web服務器,同時也可作為反向代理服務器、負載均衡器和HTTP緩存使用。相較于傳統Apache服務器,Nginx采用事件驅動的異步架構,能夠高效處理高并發連接,特別適合現代高流量網站。
## 二、安裝前的準備
1. **系統要求**
- 主流Linux發行版(Ubuntu/Debian/CentOS等)
- 至少512MB內存(生產環境建議1GB以上)
- root或sudo權限用戶
2. **環境準備**
```bash
# 更新系統軟件包
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
Ubuntu/Debian系統:
sudo apt install nginx -y
CentOS/RHEL系統:
sudo yum install epel-release -y
sudo yum install nginx -y
# 安裝編譯依賴
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y
# 下載源碼(以1.25.3版本為例)
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
# 編譯安裝
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module
make && sudo make install
啟動/停止/重啟
sudo systemctl start nginx # 啟動
sudo systemctl stop nginx # 停止
sudo systemctl restart nginx # 重啟
sudo systemctl reload nginx # 平滑重載配置
設置開機自啟
sudo systemctl enable nginx
驗證安裝
curl -I 127.0.0.1
# 應返回類似:
# HTTP/1.1 200 OK
# Server: nginx/1.25.3
Nginx主要配置文件位于:
- /etc/nginx/nginx.conf
(主配置文件)
- /etc/nginx/sites-available/
(虛擬主機配置)
- /etc/nginx/sites-enabled/
(啟用的虛擬主機)
典型配置示例:
server {
listen 80;
server_name example.com;
root /var/www/html;
location / {
index index.html;
}
location /api {
proxy_pass http://localhost:3000;
}
}
server {
listen 80;
server_name mysite.com;
root /var/www/mysite;
index index.html;
}
location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
upstream backend {
server 192.168.1.101:8080;
server 192.168.1.102:8080;
}
server {
location / {
proxy_pass http://backend;
}
}
禁用服務器標識
server_tokens off;
配置SSL證書(Let’s Encrypt示例)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
限制訪問
location /admin {
allow 192.168.1.0/24;
deny all;
}
Nginx日志默認位置:
- 訪問日志:/var/log/nginx/access.log
- 錯誤日志:/var/log/nginx/error.log
使用工具分析:
# 統計訪問量前10的IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10
調整worker進程數
worker_processes auto; # 通常設置為CPU核心數
啟用gzip壓縮
gzip on;
gzip_types text/plain text/css application/json;
調整緩沖區大小
client_body_buffer_size 10K;
client_header_buffer_size 1k;
端口沖突
sudo netstat -tulnp | grep :80
權限問題
sudo chown -R www-data:www-data /var/www
測試配置文件
sudo nginx -t
通過本文介紹,您應該已經掌握了Nginx的安裝、基本配置和常見用法。建議在生產環境部署前,先在測試環境充分驗證配置。更多高級功能可參考Nginx官方文檔。 “`
注:實際字數約1100字,可根據需要調整具體章節的詳細程度。文中命令適用于大多數現代Linux發行版,個別操作可能需要根據具體系統版本微調。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。