CentOS配置Nginx详细教程
一、前言

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,因其高并发处理能力、低资源消耗被广泛应用于各种互联网项目中,本文将详细介绍如何在CentOS系统上安装与配置Nginx,包括必要的依赖安装、Nginx的下载与编译安装、基础配置以及如何启动和管理Nginx服务。
二、准备工作
系统要求
CentOS 7及以上版本
具备sudo权限的用户
确保系统已更新所有软件包
检查并更新系统
sudo yum update y
安装基本依赖工具
sudo yum install y wget gcc gccc++ make zlib zlibdevel openssl openssldevel pcre pcredevel
三、下载并安装Nginx

下载Nginx源码
首先访问Nginx官方网站,选择稳定版本下载,以nginx1.24.0为例。
wget http://nginx.org/download/nginx1.24.0.tar.gz
解压文件
tar zxvf nginx1.24.0.tar.gz cd nginx1.24.0
配置、编译与安装Nginx
./configure prefix=/usr/local/nginx make sudo make install
创建软链接方便管理(可选)
ln s /usr/local/nginx/sbin/nginx /usr/bin/nginx
四、配置Nginx
主要配置文件路径
Nginx的主要配置文件默认位于/usr/local/nginx/conf/nginx.conf,编辑此文件以进行基本配置。
配置示例
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octetstream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}配置网站根目录权限
确保网站根目录的拥有者和权限正确:
sudo chown R nginx:nginx /usr/share/nginx sudo chmod R 755 /usr/share/nginx
五、启动与管理Nginx
启动Nginx
/usr/local/nginx/sbin/nginx
或者通过软链接启动:

nginx
测试Nginx配置是否正确
nginx t
如果输出syntax is ok和test is successful,说明配置正确。
重新加载Nginx配置
修改配置文件后,无需重启Nginx,只需重新加载配置:
nginx s reload
设置开机自启动
sudo vi /etc/systemd/system/nginx.service
在文件中增加以下内容:
[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network.target remotefs.target nsslookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx s reload ExecStop=/bin/kill s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multiuser.target
然后启用并启动Nginx服务:
sudo systemctl enable nginx sudo systemctl start nginx
六、常见问题排查与FAQs
Q1: Nginx无法启动或报错怎么办?
A1: 可以查看错误日志获取更多信息,默认情况下,错误日志位于/usr/local/nginx/logs/error.log,根据日志提示进行相应调整。
Q2: 如何修改Nginx监听的端口数?
A2: 在nginx.conf中的http区块内找到listen指令,将其设置为所需的端口号,
server {
listen 8080;
...
}然后重新加载Nginx配置:
nginx s reload
