参考资料

  1. PHP-FPM 性能优化
  2. LVS(Linux Virtual Server)负载均衡详细说明以及案例
  3. FastCGI(Fast Common Gateway Interface,快速通用网关接口)详细说明以及案例
  4. nginx -h详细说明以及案例
  5. Nginx Logrotate:日志归档配置详细说明以及案例
  6. Nginx用户cookie模块详细说明以及案例
  7. Nginx如何限制连接数以防止DDoS?
  8. NginxHTTP2模块配置详细说明以及案例

nginx的用法

安装

# Ubuntu/Debian
sudo apt install nginx

# CentOS/RHEL
sudo yum install nginx

# macOS
brew install nginx

启动/停止

# 启动
sudo systemctl start nginx

# 停止
sudo systemctl stop nginx

# 重启
sudo systemctl restart nginx

# 开机自启
sudo systemctl enable nginx

配置文件

  • 主配置:/etc/nginx/nginx.conf

  • 子配置:/etc/nginx/conf.d//etc/nginx/sites-available/

基础配置示例

server {
    listen 80;
    server_name example.com;
    
    location / {
        root /var/www/html;
        index index.html;
    }
}

反向代理配置

location / {
    proxy_pass http://localhost:3000;
    proxy_set_header Host $host;
}

检查配置

sudo nginx -t

重载配置

sudo nginx -s reload

静态文件服务

location /static {
    alias /path/to/static/files;
    expires 30d;
}

日志文件

  • 访问日志:/var/log/nginx/access.log

  • 错误日志:/var/log/nginx/error.log

SSL配置

# 生成证书(示例)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
server {
    listen 443 ssl;
    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
}