1. 安装 Nginx
下载适用于 Windows 的 Nginx 安装包,通常为 .zip
格式。可以从 Nginx 官方网站(https://nginx.org/en/download.html)获取最新稳定版。解压缩至一个合适的位置,如 C:\nginx
。
2. 配置 Nginx
打开 Nginx 的配置文件,通常位于解压目录下的 conf/nginx.conf
。使用文本编辑器(如 Notepad++)打开该文件。找到 http
块内的 server
块(可能需要新建一个),配置一个用于托管静态博客的虚拟主机。例如:
1http {
2 ...
3
4 server {
5 listen 80;
6 server_name your_domain.com; # 替换为您的域名或服务器 IP
7 root C:/nginx/html/blog; # 博客文件根目录,可自定义
8
9 location / {
10 try_files $uri $uri/ =404;
11 }
12 }
13
14 ...
15}
这里,listen
指定监听的端口(通常是 80),server_name
是您的域名(若未购买或暂不使用,可以先用服务器的公网 IP),root
设置静态博客文件的实际路径。
3. 复制静态博客文件
将本地准备好的静态博客文件(包括 HTML、CSS、JavaScript、图片等)复制到上述 root 指定的目录(如 C:\nginx\html\blog)。确保文件结构保持原样。
4. 启动 Nginx
在命令提示符(以管理员身份运行)中,切换到 Nginx 的解压目录(如 C:\nginx),然后执行以下命令启动 Nginx:
nginx.exe
如果一切正常,Nginx 应该已经开始运行,并监听指定端口。您可以通过浏览器访问服务器的公网 IP 或已配置的域名来验证是否能看到您的静态博客。
5.nginx配置反向代理
1.打开 Nginx 的配置文件,通常位于解压目录下的 conf/nginx.conf
。使用文本编辑器(如 Notepad++)打开该文件。找到 http
块内的 server
块上面的步骤2中已经配置过静态页面
server {
listen 80; # 监听的端口,这里假设是 HTTP 的默认端口 80
server_name your_domain.com; # 替换为您的域名或 IP 地址
location /api/ {
proxy_pass http://127.0.0.1:8000/; # 替换为目标服务的实际地址和端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 其他可能需要的代理设置,如缓冲、重试等
}
}
解释一下各部分的作用:
listen: 指定 Nginx 服务器监听的端口。
server_name: 设置要代理的域名或 IP 地址。如果有多个域名,可以用空格分隔。
location /api/: 定义一个匹配/api/的规则块(这里可以根据自己的需求写对应的路径)。
proxy_pass: 设置反向代理的目标 URL,即您要转发请求到的实际后端服务地址。这里假设您的博客服务运行在本机的 8000 端口。
proxy_set_header:设置转发请求时要修改或添加的 HTTP 头部。常见的有:
Host: 保持原始请求的主机名。
X-Real-IP: 设置客户端的真实 IP 地址。
X-Forwarded-For: 用于记录客户端 IP(若有前置代理,会包含整个请求链路的 IP 列表)。
注意:
如果您的服务器有防火墙,请确保开放 80 端口供外部访问。
若打算长期运行,您可能需要考虑将 Nginx 添加为 Windows 服务,以便自动启动。这通常需要使用第三方工具(如 NSSM)或编译带有 Windows 服务支持的 Nginx 版本。
对于生产环境,建议根据实际需求进一步配置 SSL(HTTPS)、日志记录、性能优化等项。
nginx 常用命令
windows:
- 启动Nginx:start nginx
- 查看Nginx版本:nginx -v
- 查看Nginx版本详细信息:nginx -V
- 停止Nginx服务:nginx -s stop 或者 nginx -s quit
- 重新加载配置(当修改了Nginx的配置文件后,可以重新加载配置,无需重启Nginx):nginx -s reload
- 查看Nginx进程:tasklist /fi "imagename eq nginx.exe"
- 彻底停止Nginx服务:taskkill /f /t /im nginx.exe
macOS:
- Nginx 版本号:nginx -v
- 详细信息:nginx -V
- 启动 Nginx:
(1). 如果通过 Homebrew 安装并管理 Nginx:brew services start nginx
(2).或直接运行可执行文件(通常在 /usr/local/nginx/sbin/nginx 或类似位置):sudo /usr/local/nginx/sbin/nginx - 停止 Nginx:
(1)使用 Homebrew 服务管理:brew services stop nginx
(2)或发送停止信号:sudo nginx -s stop - 重载 Nginx 配置:
(1)使用 Homebrew:brew services reload nginx
(2)或直接发送重载信号:sudo nginx -s reload - 检查配置文件语法:nginx -t
- 列出 Nginx 进程:ps aux | grep nginx
- 查看 Nginx 服务状态: 如果通过 Systemd 或其他服务管理器安装,使用相应的命令(如 systemctl status nginx)。否则,可能需要手动检查日志文件(如 /usr/local/var/log/nginx/access.log 和 /usr/local/var/log/nginx/error.log)。