一、安裝部署
1、安裝
# 在Ubuntu上安裝Nginx sudo apt-get update sudo apt-get install nginx
2、配置Nginx
# Nginx配置文件路徑:/etc/nginx/nginx.conf http { ... server { listen 80; server_name localhost; ... } }
3、啟動Nginx
# 啟動Nginx sudo systemctl start nginx # 停止Nginx sudo systemctl stop nginx # 重新加載配置文件 sudo systemctl reload nginx
二、反向代理與負載均衡
1、反向代理
# 配置反向代理 http { ... upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name localhost; location / { proxy_pass http://backend; } } }
2、負載均衡
# 配置負載均衡 http { ... upstream backend { server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name localhost; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } }
三、靜態文件服務
1、配置靜態文件服務
# 配置靜態文件服務 http { ... server { listen 80; server_name localhost; location / { root /path/to/your/website; index index.html index.htm; } } }
2、配置緩存
# 配置緩存 http { ... server { listen 80; server_name localhost; location / { root /path/to/your/website; index index.html index.htm; expires 1d; } } }
四、安全加固
1、訪問控制
# 配置訪問控制 http { ... server { listen 80; server_name localhost; # 不允許通過ip地址直接訪問 location / { deny all; } # 允許某個ip地址訪問 location /private/ { allow 192.168.1.100; deny all; } } }
2、SSL配置
# 配置SSL http { ... server { listen 443 ssl; ssl_certificate /path/to/your_certificate.pem; ssl_certificate_key /path/to/your_private_key.pem; location / { root /path/to/your/website; index index.html index.htm; } } }
五、Websocket支持
1、配置Websocket支持
# 配置Websocket http { ... map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name localhost; location / { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location /ws { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } }
六、本地開發
1、配置本地開發環境
# 配置本地開發環境 http { ... server { listen 80; server_name localhost; # 靜態文件服務 location /static/ { alias /path/to/your/static/files; } # API代理 location /api/ { proxy_pass http://backend; } # WebSocket代理 location /ws/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } }
七、小結
nginx是一款高性能的Web服務器,常用於靜態文件服務、反向代理、負載均衡、Websocket支持等場景,同時也能進行安全加固並配置本地開發環境。以上是nginx經典教程的詳細解釋,僅供參考。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237321.html