1. 本网站的系统架构
- 网站示例: sunlogging.com
- 服务器: 阿里云ECS
- 服务器系统: Ubuntu 24.04 LTS
- 博客框架: Hexo
- 网站主题: Volantis
2. nginx介绍
apache httpd和nginx都是web服务器,负责网站的托管、路由等服务。nginx的优点是占用内存少、并发能力强、支持热部署、高度模块化的设计。
3. (Ubuntu)安装nginx
1 | # 更新软件包 |
4. 常用命令
1 | # 检查配置文件是否有语法错误 |
5. 配置nginx
5.1. 创建网站根目录和首页
1 | # 专门为sunlogging.com站点创建一个部署目录/home/www/hexo |
用vim编辑index.html文件,写入内容:
1 | hello sunlogging! |
5.2. 新建配置文件
nginx的配置路径在: /etc/nginx/sites-enabled/default ,这是一个软连接:
1 | root@iZwz9dt15jb4zcxtk2aeq6Z:/etc/nginx/sites-available# ls -lh /etc/nginx/sites-enabled/default |
创建一个sunlogging.com网站的配置文件:
1 | cd /etc/nginx/sites-available |
5.3. 设置配置内容
用vim编辑 /etc/nginx/sites-available/sunlogging 文件,设置如下配置:
1 | server { |
5.4. 修改 /etc/nginx/sites-enabled/default 软连接
1 | # 修改软连接 |
5.5. 重新加载nginx配置
1 | sudo systemctl reload nginx |
6. 开启服务器的80端口
nginx服务的默认端口是80,而阿里云默认是禁止80端口访问权限的,所以我们要为实例手动添加安全组,让阿里云给相应的端口和IP放行。该步骤非常重要,若不手动配置,我们将无法通过“公网IP+端口”的方式访问我们的ECS服务器。
- 依次点击: 云服务器 ECS -> 网络与安全 -> 安全组。
这里应该会有一个系统默认配置的安全组,描述为”System created security group.”。这个安全组是你购买ECS服务器后,这个服务初始化时自动配置的。
- 点击这个安全组右侧的“管理规则”,进入配置详情页。
- 点击: 入方向 -> 快速添加
- 勾选“HTTP (80)”后,点击“确定”。
7. 测试验证
打开浏览器,地址栏输入 http://服务器的公网IP:80
,如果看到“hello sunlogging!”字样,则表示nginx配置成功。
8. nginx常见问题
8.1. nginx.service failed
如果出现以下报错:
1 | Job for nginx.service failed. |
排查方式:
- 输入
nginx -t
命令,如果反回 successful表示配置文件无错误,否则说明配置文件有错误,检查对应的配置。 - 查看nginx服务状态,输入
systemctl status nginx.service
命令,如果显示“Active: active (running)”则表示服务正常,否则需要查看日志。 - 根据log提示做进步的排查