saber 酱的抱枕

Fly me to the moon

08/10
2020
软件

Nginx 建立静态网站的配置过程

最近做了个图片转换 icon 的工具,写了个静态演示页面,部署到服务器上,记录一下流程。服务器系统是 Debian。

首先在 /etc/nginx/conf.d 里建立一个配置文件 域名.conf。(域名请替换成实际域名)

因为一开始我们没有 SSL 证书,所以只要简单配置下 80 端口的设置就行了。

server {
  listen       80;
  listen       [::]:80;
  server_name  域名;
  root         目录;

  location / {
  }
}

重启 nginx 服务,之后当你访问域名时,nginx 会自动寻找目录下的默认主页文件(如 index.html)。

之后使用 certbot 配置 SSL 证书。这里参考的文档:
Install Let’s Encrypt SSL on Debian 9 with Nginx webserver

安装 certbot,然后生成证书:

certbot certonly --webroot -w 目录 -d 域名

由于是使用 webroot 方式认证,所以前面的 conf 配置文件里不能先把 443 端口的监听写进入,否则 certbot 会尝试使用 https 来认证,这样会导致认证失败。

成功生成证书之后,重新配置 conf 文件,把 SSL 部分添加进去,如下:

server {
    listen  80;
    server_name 域名;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    charset utf-8;
    server_name 域名;
    root 目录;
    ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;
    location / {
    }
}

最后重启 nginx,可以正常打开网站就 ok 了。

Nginx 建立静态网站的配置过程