CentOS下Nginx安装与配置教程

Nginx简介
Nginx是一款高性能的HTTP和反向代理服务器,也可以作为邮件(IMAP/POP3)代理服务器,Nginx具有稳定性、丰富的功能、简单的配置和低资源消耗等优势,被广泛应用于网站服务器、负载均衡、缓存等场景。
安装Nginx
安装依赖
在CentOS系统中,首先需要安装Nginx的依赖库,可以使用以下命令进行安装:
sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
安装Nginx
使用以下命令安装Nginx:
sudo yum install -y nginx
启动Nginx
安装完成后,启动Nginx服务:
sudo systemctl start nginx
检查Nginx状态
使用以下命令检查Nginx服务状态:

sudo systemctl status nginx
设置开机自启
为了使Nginx在系统启动时自动运行,可以使用以下命令:
sudo systemctl enable nginx
配置Nginx
查看配置文件
Nginx的配置文件位于/etc/nginx/目录下,主要配置文件为nginx.conf,使用以下命令查看配置文件:
sudo cat /etc/nginx/nginx.conf
修改配置文件
根据实际需求修改nginx.conf文件,以下是一个简单的配置示例:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
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;
}
}
} 重启Nginx
修改配置文件后,需要重启Nginx服务以使配置生效:
sudo systemctl restart nginx
访问Nginx
在浏览器中输入服务器IP地址或域名,即可访问Nginx默认的欢迎页面。

FAQs
问题:Nginx服务无法启动,提示“nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)”怎么办?
解答:这是由于80端口已被其他服务占用,可以使用以下命令查看占用80端口的进程:
sudo netstat -tulnp | grep 80
使用以下命令杀死占用端口的进程:
sudo kill -9 <进程ID>
重启Nginx服务。
问题:如何配置Nginx反向代理?
解答:在nginx.conf文件中添加一个新的server块,配置代理服务器和目标服务器,以下是一个简单的反向代理配置示例:
server {
listen 80;
server_name localhost;
location /proxy/ {
proxy_pass http://target_server_ip;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} target_server_ip为目标服务器的IP地址。

