什么是Nginx?¶
Nginx是一款高性能的Web服务器和反向代理服务器,它轻量级、稳定性强,能处理高并发访问,常用于搭建个人博客、企业网站等。相比传统的Apache,Nginx更省资源,配置也更灵活,是新手入门Web服务器的绝佳选择。
一、安装Nginx¶
在开始配置前,需要先安装Nginx。以下是主流Linux系统的安装方法(Windows和macOS用户可跳过,或使用Docker安装,这里以Linux为例):
Ubuntu/Debian系统¶
打开终端,执行以下命令:
# 更新软件包列表
sudo apt update
# 安装Nginx
sudo apt install nginx -y
# 启动Nginx并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
CentOS/RHEL系统¶
# 安装Nginx(CentOS 8+已自带,若未安装)
sudo dnf install nginx -y
# 启动并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
验证安装成功¶
安装后,执行以下命令检查Nginx状态:
sudo systemctl status nginx
若显示“active (running)”,则安装成功。也可直接在浏览器访问服务器IP(如http://127.0.0.1或http://localhost),能看到Nginx默认欢迎页面,说明安装完成。
二、理解Nginx配置文件¶
Nginx的核心是配置文件,默认位于/etc/nginx/目录下,关键文件及作用:
- nginx.conf:主配置文件,包含全局设置(如worker进程数、日志路径等)。
- conf.d/:子配置目录,通常将每个虚拟主机(网站)的配置单独写在该目录下的.conf文件中。
三、配置第一个网站¶
我们将配置一个简单的Web服务器,步骤如下:
1. 创建网站文件目录¶
Nginx默认网站文件存放在/var/www/html(Ubuntu/Debian)或/usr/share/nginx/html(CentOS),可直接使用该目录。
# 创建测试目录(若不存在)
sudo mkdir -p /var/www/html
# 创建首页文件index.html
sudo nano /var/www/html/index.html
2. 编写简单的HTML内容¶
在index.html中输入以下内容(可自定义):
<!DOCTYPE html>
<html>
<head>
<title>我的第一个Nginx网站</title>
</head>
<body>
<h1>Hello Nginx!</h1>
<p>这是我用Nginx搭建的第一个Web服务器~</p>
</body>
</html>
按Ctrl+X保存并退出编辑器。
3. 配置虚拟主机¶
Nginx通过server块定义虚拟主机(网站),需在/etc/nginx/conf.d/目录下创建一个配置文件(如default.conf):
sudo nano /etc/nginx/conf.d/default.conf
在文件中添加以下配置(解释见注释):
server {
# 监听80端口(HTTP默认端口)
listen 80;
# 访问域名/IP(新手可填localhost或服务器IP,如192.168.1.100)
server_name localhost;
# 网站文件存放路径(与步骤1的目录一致)
root /var/www/html;
# 首页文件(按顺序查找,优先index.html)
index index.html;
# (可选)默认404页面
location / {
try_files $uri $uri/ =404;
}
}
4. 检查配置并重新加载¶
修改配置后,需先检查语法是否有误,避免启动失败:
sudo nginx -t
若显示“test is successful”,则配置正确。然后重新加载配置(无需重启服务):
sudo systemctl reload nginx
四、测试访问网站¶
配置完成后,在浏览器中输入服务器IP或localhost,即可看到刚才编写的index.html内容:
- 若服务器IP为192.168.1.100,直接访问http://192.168.1.100
- 若用localhost,访问http://localhost
若无法访问?检查以下常见问题:
1. 防火墙未开放80端口
- Ubuntu/Debian:sudo ufw allow 80/tcp(允许HTTP流量)
- CentOS/RHEL:sudo firewall-cmd --add-port=80/tcp --permanent + sudo firewall-cmd --reload
- 云服务器需在控制台安全组添加“80端口入站规则”
- 文件权限问题
Nginx默认以www-data(Ubuntu)或nginx(CentOS)用户运行,需确保目录有读取权限:
sudo chown -R www-data:www-data /var/www/html # Ubuntu/Debian
sudo chown -R nginx:nginx /usr/share/nginx/html # CentOS
五、Nginx常用管理命令¶
- 启动/停止/重启:
sudo systemctl start nginx # 启动
sudo systemctl stop nginx # 停止
sudo systemctl restart nginx # 重启
sudo systemctl reload nginx # 重新加载配置(推荐,不中断服务)
- 查看状态:
sudo systemctl status nginx # 查看运行状态
六、总结¶
通过以上步骤,你已成功用Nginx搭建了一个能访问的Web服务器!核心流程是:安装Nginx → 配置网站文件和虚拟主机 → 检查配置并测试访问。后续可在此基础上添加CSS、JS等资源,或配置HTTPS(需SSL证书),让网站更完善。
小提示:修改配置文件后,务必先用nginx -t检查语法,再用reload生效,避免服务中断!