Skip to content

记录一次nginx配置

nginx 在开发中经常用到,是一项重要的技术,最近想在amazon上搭建个人笔记网站,记录一下nginx的配置。

安装

在ubuntu上安装nginx

sudo apt update
sudo apt install nginx

安装完以后检查nginx是否运行:

sudo systemctl status nginx

准备网站文件

将网站文件放在 /var/www/ 下,此处使用 /var/www/mkzoom.

sudo cp -r mkzoom /var/www/mkzoom

# 设置映射
sudo ln -s /var/www/mkzoom mkzoom

确保文件权限正确:

sudo chown -R www-data:www-data /var/www/mkzoom
sudo chmod -R 755 /var/www/mkzoom

配置

创建一个新的配置文件,例如 mk_config:

sudo nano /etc/nginx/sites-available/mk_config

配置文件内容如下:

server {
    listen 80;
    # listen [::]:80;

    server_name mkzoom.com;

    root /var/www/mkzoom;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
  • server_name: 替换为域名或服务器的 IP 地址。如果只是本地访问,可以用 _localhost
  • root: 设置为 mkzoom 文件夹路径,例如 /var/www/mkzoom
  • index: 确保设置为网站的首页文件,例如 index.html。 保存并退出。

启用新配置

将配置文件链接到 sites-enabled 文件夹中:

sudo ln -s /etc/nginx/sites-available/mk_config /etc/nginx/sites-enabled/

测试 Nginx 配置是否正确:

sudo nginx -t

如果没有错误信息,重新加载 Nginx:

sudo systemctl reload nginx

配置DNS

在域名注册商处配置DNS,将域名指向服务器的IP地址。

添加防火墙规则

如果服务器上运行了防火墙,需要添加规则以允许HTTP流量(端口80):

sudo ufw allow 'Nginx Full'

配置HTTPS

使用Let’s Encrypt免费证书,配置HTTPS。

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d mkzoom.com -d www.mkzoom.com

按照提示操作,完成HTTPS配置。

设置自动续期:

Certbot 默认会设置自动续期,但可以手动测试:

sudo certbot renew --dry-run

完成

现在,您的网站应该可以通过 mkzoom.com 访问,并且使用HTTPS加密。