優先通過CentOS官方Yum倉庫或Nginx官方倉庫安裝,避免第三方源的安全風險。若需最新穩定版,可添加Nginx官方倉庫:
sudo yum install -y epel-release
sudo rpm --import http://nginx.org/keys/nginx_signing.key
sudo yum install -y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx
安裝后通過nginx -v驗證版本,確保安裝成功。
nginx.conf,添加server_tokens off;,避免錯誤頁面泄露Nginx版本,減少針對性攻擊。allow/deny指令限制敏感目錄(如/admin)的IP訪問,或使用geo模塊定義IP白名單。autoindex off;,防止用戶列出目錄內容。listen 443 ssl http2;),并優化SSL參數(如ssl_protocols TLSv1.2 TLSv1.3;、ssl_ciphers HIGH:!aNULL:!MD5;)。add_header X-Content-Type-Options "nosniff";(防止MIME類型嗅探)、add_header X-Frame-Options "SAMEORIGIN";(防止點擊劫持)。worker_processes auto;(自動匹配CPU核心數),避免進程過多導致上下文切換開銷。events塊中設置worker_connections 1024;(單進程最大連接數),配合use epoll;(Linux高效事件模型)提升高并發處理能力。gzip on;開啟Gzip壓縮,設置gzip_comp_level 5;(平衡壓縮率與CPU消耗)、gzip_types text/plain text/css application/json;(針對文本類資源壓縮),減少傳輸數據量。expires 30d;(緩存30天)和add_header Cache-Control "public";,降低后端負載。keepalive_timeout 65;(保持連接65秒)、keepalive_requests 100;(單連接最大請求數),減少TCP握手開銷。upstream模塊定義后端服務器集群,使用least_conn;(最少連接算法)分配請求,提升動態內容處理效率。例如:upstream backend {
least_conn;
server backend1.example.com;
server backend2.example.com;
}
server {
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
/etc/nginx/conf.d/目錄下(如example.conf),通過符號鏈接激活(ln -s /etc/nginx/conf.d/example.conf /etc/nginx/sites-enabled/),便于管理。nginx -t命令測試語法,避免因配置錯誤導致服務中斷。error_log /var/log/nginx/error.log crit;),減少不必要的訪問日志記錄(access_log off;),提升性能;定期歸檔日志(如使用logrotate)。systemctl enable nginx設置Nginx開機自動啟動,確保服務器重啟后服務可用。sudo yum install -y php-fpm),配置www.conf中的listen = /run/php-fpm/php-fpm.sock(Unix socket通信)和user = nginx(與Nginx運行用戶一致);在Nginx中添加location ~ \.php$塊,設置fastcgi_pass unix:/run/php-fpm/php-fpm.sock;,實現PHP動態內容處理。/static/)直接由Nginx處理(root /var/www/static;),動態請求(如/api/)轉發至后端服務器(如Tomcat、PHP-FPM),提升整體性能。nginx-module-vts模塊收集Nginx狀態信息(如請求數、連接數),結合htop、top等工具監控系統資源使用情況。awk、grep等命令分析Nginx訪問日志(/var/log/nginx/access.log),識別高頻錯誤(如404、500)或惡意請求(如頻繁掃描);借助ELK(Elasticsearch+Logstash+Kibana)實現可視化分析。/etc/nginx/目錄(如使用tar -czvf nginx_backup.tar.gz /etc/nginx/),防止配置丟失。