什么是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.1http://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端口入站规则”

  1. 文件权限问题
    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生效,避免服务中断!

小夜