一、为什么选择 Nginx 搭建 Web 服务器?
在众多 Web 服务器软件中,Nginx 凭借三大核心优势成为主流选择:高性能高并发(单台服务器可支持数万并发连接,资源占用低)、灵活的反向代理能力(可轻松实现负载均衡、动静分离,提升网站响应速度)、稳定性强(运行时故障率低,即使面对突发流量也能稳定服务)。无论是搭建个人博客、企业官网,还是小型应用服务,Nginx 都能满足需求,且对服务器配置要求不高,新手也能快速上手。
二、Nginx 搭建前的准备工作
1. 服务器环境要求
- 操作系统:推荐 Linux 系统(如 CentOS 7/8、Ubuntu 20.04/22.04),Linux 对 Nginx 的兼容性更好,且命令行操作更便捷;Windows 系统也可安装,但后续运维和配置不如 Linux 灵活。
- 服务器配置:最低 1 核 1G 内存(适合个人博客、小型网站),若需部署多应用或应对较高流量,建议 2 核 4G 及以上配置;硬盘推荐 SSD,提升文件读取速度。
- 网络设置:确保服务器已开放 80 端口(HTTP 协议)和 443 端口(HTTPS 协议),可在服务器厂商控制台的安全组规则中添加端口放行策略。
2. 工具准备
- 远程连接工具:Windows 用户可用 PuTTY、Xshell,Mac 用户直接使用终端(Terminal),通过 SSH 协议连接服务器(命令:ssh 用户名@服务器IP地址,如ssh root@123.45.67.89)。
- 文件传输工具:若需上传网站文件,可使用 FileZilla、WinSCP,通过 SFTP 协议连接服务器,操作简单直观。
三、Nginx 安装步骤(以 CentOS 8 为例)
1. 更新系统软件包
登录服务器后,先执行以下命令更新系统软件包,避免因依赖包版本过低导致安装失败:
yum update -y
2. 安装 Nginx
CentOS 系统可通过官方 YUM 源安装 Nginx,步骤如下:
- 安装 Nginx 官方 YUM 源(若未安装):
rpm -Uvh http://nginx.org/packages/centos/8/noarch/RPMS/nginx-release-centos-8-0.el8.ngx.noarch.rpm
- 安装 Nginx:
yum install nginx -y
- 验证安装是否成功:
nginx -v
若输出类似 “nginx version: nginx/1.24.0” 的信息,说明安装成功。
3. 启动并设置 Nginx 开机自启
- 启动 Nginx 服务:
systemctl start nginx
- 设置开机自启(避免服务器重启后 Nginx 无法自动运行):
systemctl enable nginx
- 查看 Nginx 运行状态:
systemctl status nginx
若显示 “active (running)”,表示 Nginx 已正常启动。
四、Nginx 基础配置:部署静态网站(以个人博客为例)
1. 创建网站根目录
首先在服务器上创建存放网站文件的目录(以/var/www/myblog为例):
mkdir -p /var/www/myblog
然后将本地的博客文件(如 HTML、CSS、JS、图片等)通过 FileZilla 上传到该目录下。
2. 配置 Nginx 虚拟主机
Nginx 的主配置文件位于/etc/nginx/nginx.conf,虚拟主机配置通常放在/etc/nginx/conf.d/目录下,步骤如下:
- 创建虚拟主机配置文件(以myblog.conf为例):
vi /etc/nginx/conf.d/myblog.conf
- 输入以下配置内容(将yourdomain.com替换为你的域名,若暂无域名可替换为服务器 IP):
server { listen 80; # 监听80端口(HTTP) server_name yourdomain.com www.yourdomain.com; # 你的域名 # 网站根目录 root /var/www/myblog; # 默认首页文件 index index.html index.htm; # 访问日志配置(方便后续排查问题) access_log /var/log/nginx/myblog_access.log; error_log /var/log/nginx/myblog_error.log; # 配置静态文件缓存(提升访问速度) location ~* \.(jpg|jpeg|png|gif|css|js)$ { expires 30d; # 静态文件缓存30天 }}
- 保存并退出(按Esc键,输入:wq回车)。
3. 检查配置并重启 Nginx
- 检查 Nginx 配置文件是否有语法错误:
nginx -t
若输出 “nginx: configuration file /etc/nginx/nginx.conf test is successful”,说明配置无误。
- 重启 Nginx 使配置生效:
systemctl restart nginx
4. 验证网站访问
打开浏览器,输入你的域名或服务器 IP,若能正常显示博客首页,说明 Nginx 已成功部署静态网站。
五、Nginx 进阶配置:开启 HTTPS(提升网站安全性)
1. 申请免费 SSL 证书
推荐使用 Let’s Encrypt 的免费 SSL 证书,通过 Certbot 工具快速申请:
- 安装 Certbot 和 Nginx 插件:
yum install certbot python3-certbot-nginx -y
- 申请并自动配置 SSL 证书(替换yourdomain.com为你的域名):
certbot --nginx -d yourdomain.com -d www.yourdomain.com
执行过程中按提示输入邮箱、同意协议即可,Certbot 会自动完成证书安装和 Nginx 配置修改(将 HTTP 请求重定向到 HTTPS)。
2. 验证 HTTPS 访问
浏览器输入https://yourdomain.com,地址栏显示绿色小锁,说明 HTTPS 已成功开启。
六、Nginx 常见问题排查
1. Nginx 启动失败
- 若执行systemctl start nginx后提示失败,可查看错误日志:
cat /var/log/nginx/error.log
常见原因:80/443 端口被占用(可通过netstat -tuln | grep 80查看端口占用情况,kill 占用进程)、配置文件语法错误(重新检查配置文件)。
2. 网站无法访问
- 检查服务器安全组:确保 80/443 端口已放行。
- 检查 Nginx 配置:确认虚拟主机的 server_name、root 目录是否正确。
- 检查网站文件权限:确保网站根目录及文件的权限为755(目录)和644(文件),可通过chmod -R 755 /var/www/myblog设置。
七、总结
通过以上步骤,你已成功用 Nginx 搭建 Web 服务器并部署静态网站,还开启了 HTTPS 提升安全性。Nginx 的功能远不止于此,后续可根据需求配置反向代理(如代理后端 API 服务)、负载均衡(多服务器分担流量)等高级功能。若在操作过程中遇到问题,可参考 Nginx 官方文档(https://nginx.org/en/docs/)或留言讨论。
太水了
1111