Nginx(发音为"engine x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它具有以下特点: - 高并发处理能力(单机可支持5万并发连接) - 内存占用低 - 配置简单灵活 - 模块化设计 - 稳定性高
sudo apt update
sudo apt install nginx
sudo systemctl start nginx # 启动
sudo systemctl stop nginx # 停止
sudo systemctl restart nginx # 重启
sudo systemctl reload nginx # 重新加载配置
sudo systemctl status nginx # 查看状态
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://backend;
}
}
server {
listen 80;
server_name shop.example.com;
rewrite ^/old-page$ /new-page permanent;
location /products {
rewrite ^/products/(.*)$ /items/$1 last;
}
}
location /admin {
allow 192.168.1.0/24;
allow 10.0.0.1;
deny all;
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/.htpasswd;
}
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;
gzip_proxied any;
gzip_comp_level 6;
gzip_vary on;
worker_processes auto; # 自动设置为CPU核心数
worker_rlimit_nofile 100000; # 每个worker进程能打开的文件描述符数量
events {
worker_connections 4096; # 每个worker进程的最大连接数
multi_accept on; # 一次接受多个新连接
use epoll; # Linux系统使用epoll事件模型
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
}
}
检查配置语法
sudo nginx -t
查看错误日志
tail -f /var/log/nginx/error.log
查看访问日志
tail -f /var/log/nginx/access.log
检查端口占用
sudo netstat -tulnp | grep :80
检查进程状态
ps aux | grep nginx
通过以上实例和配置,您可以快速搭建和优化Nginx服务器,满足大多数Web服务需求。