命令

  • nginx -t: 检测配置文件

配置

默认配置文件: /etc/nginx/nginx.conf, 如果文件配置内存在 include /etc/nginx/conf.d/*.conf; 语句, 可以自动加载 conf.d 目录下 conf hb 后缀的配置.

SSL

server {
  listen 443 ssl;
  listen [::]:443 ssl ipv6only=on;

  ssl_certificate /etc/nginx/cert/fullchain.pem;
  ssl_certificate_key /etc/nginx/cert/privkey.pem;
}

# http 请求转 https
server {
  listen 80;
  server_name i.immwind.com www.i.immwind.com;
  return 301 https://$host$request_uri;
}

问题

80 端口已运行

通过 apt 安装时,在 /etc/nginx/sites-enabled/default 有个默认的配置文件,删除即可(原文件在 sites-vailable)。

docker-compose 无法转发到其他容器

通过 Docker Compose 安装的 Nginx 转发到其他容器时总是失败。

主要是在仅有公网 IP 的场景下才会出现,用容器名称互相访问解决:

  location / {
    proxy_pass http://one-api:3000;
}