首先确保已安装 Nginx:
# 添加 EPEL 仓库
sudo yum install epel-release
# 安装 Nginx
sudo yum install nginx
# 启动 Nginx 并设置开机启动
sudo systemctl start nginx
sudo systemctl enable nginx
编辑 Nginx 配置文件:
sudo vi /etc/nginx/nginx.conf
或者为特定站点创建单独的配置文件(推荐):
sudo vi /etc/nginx/conf.d/reverse-proxy.conf
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://backend_server_ip:backend_port;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
upstream backend {
server backend1.example.com:8080 weight=5;
server backend2.example.com:8080;
server backend3.example.com:8080;
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://backend;
# 其他代理设置...
}
}
location /ws/ {
proxy_pass http://backend_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://backend_server;
# 其他代理设置...
}
}
# 测试 Nginx 配置
sudo nginx -t
# 重新加载 Nginx 配置
sudo systemctl reload nginx
如果启用了防火墙,需要开放相应端口:
# 开放 HTTP(80) 和 HTTPS(443) 端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
查看反向代理是否正常工作:
# 查看访问日志
sudo tail -f /var/log/nginx/access.log
# 查看错误日志
sudo tail -f /var/log/nginx/error.log
proxy_cache
提高性能worker_processes
和 worker_connections
以上配置可以根据实际需求进行调整和扩展。