如何在 Ubuntu上安装设置 Nginx 网站配置块并安装 Certbot 自动加SSL证书

如果不使用宝塔面板,怎么在服务器VPS中搭建一个静态网站呢?本文记录了轻量化部署网站的三个步骤,依次是:安装Nginx,为域名创建一个单独的配置文件,安装cerbot自动为域名创建并续期 Let’s Encrypt ssl证书。

一、安装 Nginx

以 sudo 用户身份登录服务器,运行以下安装命令:

1sudo apt update
2sudo apt install nginx

一旦安装完成,Nginx 将会自动启动。你可以运行下面的命令来验证它:sudo systemctl status nginx

输出类似下面这样:

1● nginx.service - A high performance web server and a reverse proxy server
2     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
3     Active: active (running) since Sat 2020-05-02 20:25:43 UTC; 13s ago

二、配置防火墙

开放HTTP(80)和 HTTPS(443)端口。如果你使用的是 UFW 防火墙,键入以下命令开放 80/443 端口

sudo ufw allow 'Nginx Full'

查看端口是否开放: sudo ufw status 确认输出中包含类似下面这样,包含 Nginx相关规则

1Status: active
2
3To                         Action      From
4--                         ------      ----
522/tcp                     ALLOW       Anywhere
6Nginx Full                 ALLOW       Anywhere
722/tcp (v6)                ALLOW       Anywhere (v6)
8Nginx Full (v6)            ALLOW       Anywhere (v6)

Nginx安装成功,开启端口成功后,在你的浏览器中打开 http://YOUR_IP ,你应该可以看到默认的 Nginx 加载页面。

三、配置域名访问

1. 创建一个域名配置文件

先将域名IP指向我们的服务器。 在 Ubuntu 系统上,Nginx 域名独立配置文件位于 /etc/nginx/sites-available 目录,假设你的域名为 wodewangzhan.com,我们直接用域名命名该配置文件便于辨识。

 1# 创建配置 文件
 2vi /etc/nginx/sites-available/wodewangzhan.com  
 3
 4# 在配置文件中粘贴配置模板,可根据自己站点自行修改配置
 5
 6server {
 7    listen 80;
 8
 9    server_name wodewangzhan.com; #你的域名
10
11    root /var/www/wodewangzhan.com/public_html; #你的网站目录,任意自定义
12
13    index index.html;
14
15    access_log /var/log/nginx/wodewangzhan.com.access.log; #指定日志文件存放,任意自定义
16    error_log /var/log/nginx/wodewangzhan.com.error.log; #指定日志文件存放,任意自定义
17}

2. 创建目录链接,启动域名访问

要启用新的域名配置块文件,需要创建该配置块文件到 sites-enabled 目录的符号链接,这个目录将会在 Nginx 启动时被读取

1sudo ln -s /etc/nginx/sites-available/wodewangzhan.com /etc/nginx/sites-enabled/

测试 Nginx 配置文件,看看语法是否正确: sudo nginx -t,如果没有错误,输出将会类似如下:

1nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2nginx: configuration file /etc/nginx/nginx.conf test is successful

重新启动 Nginx 服务,使得修改生效。

1sudo systemctl restart nginx

最后在浏览器中打开 http://wodewangzhan.com ,就可以访问我们的网站。

四、为网站启用SSL证书,并自动续期证书

1. 安装certbot

1# 安装依赖
2sudo apt install software-properties-common
3sudo add-apt-repository universe
4# 安装certbot
5sudo apt install certbot python-certbot-nginx -y

2. 配置证书

1sudo certbot --nginx

如果提示如下错误

1Saving debug log to /var/log/letsencrypt/letsencrypt.log
2The requested nginx plugin does not appear to be installed

安装下插件: apt install python-certbot-nginx 或者 apt install python3-certbot-nginx

然后再运行证书配置命令: sudo certbot --nginx,根据系统提示操作获取证书

3. 配置证书自动更新

测试certbot更新命令,确保系统的配置均正常: sudo certbot renew --dry-run

配置cron脚本: crontab -e 添加以下命令, 每30天更新一次证书

10 0 */30 * * root certbot -q renew --nginx && service nginx restart

查看证书的有效时间

1openssl x509 -noout -dates -in /etc/letsencrypt/live/example.com/c

版权

评论