Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

1. 本网站的系统架构

  • 网站示例: sunlogging.com
  • 服务器: 阿里云ECS
  • 服务器系统: Ubuntu 24.04 LTS
  • 博客框架: Hexo
  • 网站主题: Volantis

2. nginx介绍

apache httpd和nginx都是web服务器,负责网站的托管、路由等服务。nginx的优点是占用内存少、并发能力强、支持热部署、高度模块化的设计。

3. (Ubuntu)安装nginx

1
2
3
4
5
6
7
# 更新软件包
sudo apt update
# 安装nginx
sudo apt install nginx
# 检查安装是否成功,如果显示具体的版本号则表示安装成功
nginx -v
# nginx version: nginx/1.24.0 (Ubuntu)

4. 常用命令

1
2
3
4
5
6
7
8
9
10
# 检查配置文件是否有语法错误
nginx -t
# 查看nginx服务是否运行
sudo systemctl status nginx
# 启动Nginx服务
sudo systemctl start nginx
# 停止Nginx服务
sudo systemctl stop nginx
# 热加载,重新加载配置文件
sudo systemctl reload nginx

5. 配置nginx

5.1. 创建网站根目录和首页

1
2
3
4
5
6
# 专门为sunlogging.com站点创建一个部署目录/home/www/hexo
mkdir -p /home/www/sunlogging
# 进入网站根目录
cd /home/www/sunlogging
# 创建网站首页
touch index.html

用vim编辑index.html文件,写入内容:

1
hello sunlogging!

5.2. 新建配置文件

nginx的配置路径在: /etc/nginx/sites-enabled/default ,这是一个软连接:

1
2
root@iZwz9dt15jb4zcxtk2aeq6Z:/etc/nginx/sites-available# ls -lh /etc/nginx/sites-enabled/default 
lrwxrwxrwx 1 root root 34 May 21 17:23 /etc/nginx/sites-enabled/default -> /etc/nginx/sites-available/default

创建一个sunlogging.com网站的配置文件:

1
2
cd /etc/nginx/sites-available
touch sunlogging

5.3. 设置配置内容

用vim编辑 /etc/nginx/sites-available/sunlogging 文件,设置如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
# 监听端口
listen 80;
# 网站域名
server_name sunlogging.com www.sunlogging.com;

location / {
# 站点根路径
root /home/www/sunlogging;
# 网站主页指向的文件
index index.html index.htm;
}
}

5.4. 修改 /etc/nginx/sites-enabled/default 软连接

1
2
# 修改软连接
ln -snf /etc/nginx/sites-available/sunlogging /etc/nginx/sites-enabled/default

5.5. 重新加载nginx配置

1
sudo systemctl reload nginx

6. 开启服务器的80端口

nginx服务的默认端口是80,而阿里云默认是禁止80端口访问权限的,所以我们要为实例手动添加安全组,让阿里云给相应的端口和IP放行。该步骤非常重要,若不手动配置,我们将无法通过“公网IP+端口”的方式访问我们的ECS服务器。

  1. 依次点击: 云服务器 ECS -> 网络与安全 -> 安全组。

这里应该会有一个系统默认配置的安全组,描述为”System created security group.”。这个安全组是你购买ECS服务器后,这个服务初始化时自动配置的。

  1. 点击这个安全组右侧的“管理规则”,进入配置详情页。
  1. 点击: 入方向 -> 快速添加
  1. 勾选“HTTP (80)”后,点击“确定”。

7. 测试验证

打开浏览器,地址栏输入 http://服务器的公网IP:80 ,如果看到“hello sunlogging!”字样,则表示nginx配置成功。

8. nginx常见问题

8.1. nginx.service failed

如果出现以下报错:

1
2
Job for nginx.service failed.
See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.

排查方式:

  1. 输入 nginx -t 命令,如果反回 successful表示配置文件无错误,否则说明配置文件有错误,检查对应的配置。
  2. 查看nginx服务状态,输入 systemctl status nginx.service 命令,如果显示“Active: active (running)”则表示服务正常,否则需要查看日志。
  3. 根据log提示做进步的排查
推荐阅读
博客建站7 - hexo博客独立服务器如何自动部署? 博客建站7 - hexo博客独立服务器如何自动部署? 博客建站2 - 选择网站服务器 博客建站2 - 选择网站服务器 博客建站1 - 选择博客系统框架 博客建站1 - 选择博客系统框架

评论