记录一次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加密。