Nginx 是一个高性能的 HTTP 和反向代理服务器,常与 Node.js 应用配合使用。以下是详细的配置和使用方法:
sudo apt update
sudo apt install nginx
sudo yum install epel-release
sudo yum install nginx
brew install nginx
编辑 Nginx 配置文件(通常在 /etc/nginx/sites-available/yourdomain
或 /etc/nginx/conf.d/default.conf
):
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://localhost:3000; # Node.js 应用端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
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_cache_bypass $http_upgrade;
}
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:3000;
# ...其他代理设置同上
}
location /static/ {
alias /path/to/your/static/files/;
expires 30d;
access_log off;
}
}
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot renew --dry-run
upstream nodejs_servers {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
server 127.0.0.1:3002;
}
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://nodejs_servers;
# ...其他代理设置
}
}
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo nginx -t
localhost
而不是 0.0.0.0
(由 Nginx 处理外部请求)PORT
)配置应用端口npm install pm2 -g
pm2 start app.js
pm2 save
pm2 startup
/etc/nginx/nginx.conf
):worker_processes auto;
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
通过以上配置,你可以高效地将 Nginx 与 Node.js 应用结合使用,获得更好的性能和安全性。