一、Nginx服务器基础环境搭建
在Linux系统中部署Nginx前,需确保具备稳定的运行环境。以Ubuntu/Debian为例,通过apt-get install nginx命令即可完成安装,CentOS系统则推荐使用yum安装方式。安装完成后,系统会自动创建/etc/nginx配置目录,其中nginx.conf为主配置文件,sites-available存放虚拟主机配置。为什么说Nginx比Apache更适合现代Web架构?关键在于其事件驱动模型能高效处理并发请求,配合Linux内核的epoll机制,单机即可支撑数万并发连接。
二、反向代理核心配置详解
反向代理作为Nginx的核心功能,通过修改/etc/nginx/sites-enabled/default文件实现。典型配置包含upstream模块定义后端服务器组,server模块设置监听端口和域名解析。配置PHP应用时,需添加proxy_pass指令将请求转发至127.0.0.1:9000,同时通过proxy_set_header保留原始请求头信息。要特别注意proxy_buffer_size参数的调优,过小的缓冲区会导致大文件传输失败,建议设置为8k或16k以平衡内存消耗与性能。
三、Let's Encrypt免费SSL证书申请
使用Certbot工具可快速获取Let's Encrypt证书,执行certbot --nginx -d yourdomain.com命令即可自动完成域名验证和证书签发。证书默认保存在/etc/letsencrypt/live目录,包含fullchain.pem(证书链)和privkey.pem(私钥)两个关键文件。为什么推荐Let's Encrypt?因其提供90天有效期的免费证书,且支持通配符证书,配合crontab设置自动续期任务即可实现永久免费HTTPS服务。
四、Nginx SSL安全加固配置
在/etc/nginx/conf.d/ssl.conf中添加安全策略可显著提升防护等级。建议启用TLS 1.2/1.3协议,禁用不安全的CBC加密套件,设置ssl_prefer_server_ciphers on强制服务端优选加密算法。通过ssl_session_cache配置会话缓存能降低TLS握手开销,典型值设置为10MB可支持约8万次会话复用。如何验证配置安全性?使用Qualys SSL Labs测试工具可获取A+评级,重点关注HSTS头配置和OCSP装订等高级特性。
五、负载均衡与高可用实践
在upstream模块中定义多个后端服务器地址即可实现负载均衡,Nginx支持轮询(默认)、IP哈希、最少连接等调度算法。对于电商等高并发场景,建议配置health_check实现主动健康检查,当后端节点故障时自动剔除。要构建真正的高可用架构,还需配合Keepalived实现VIP漂移,通过vrrp_script检测Nginx进程状态,确保单点故障时能自动切换。
六、性能监控与故障排查
启用Nginx status模块可实时监控连接数、请求率等指标,在server块添加stub_status on配置后,访问/nginx-status即可获取JSON格式监控数据。当出现502 Bad Gateway错误时,检查后端服务是否存活,查看error_log中的upstream timed out记录。为什么性能突然下降?可能是文件描述符耗尽导致,需通过ulimit -n 65535提升系统限制,并在nginx.conf中设置worker_rlimit_nofile对应值。