在CentOS操作系统上搭建Nginx服务器是一个相对简单的过程,但需要遵循一系列步骤以确保安装和配置的准确性,以下是详细的指南:
一、准备工作
1、系统要求:确保你的CentOS系统是最新的,并且已经安装了必要的软件包,你可以通过以下命令更新系统:

sudo yum update y
2、检查端口占用:确保80(HTTP)和443(HTTPS)端口未被其他服务(如Apache)占用,你可以使用以下命令检查:
sudo netstat tuln | grep ':80' sudo netstat tuln | grep ':443'
二、安装Nginx
1、安装EPEL仓库:Nginx的官方安装包可以在EPEL(Extra Packages for Enterprise Linux)仓库中找到,安装EPEL仓库:
sudo yum install epelrelease y
2、安装Nginx:通过YUM安装Nginx:
sudo yum install nginx y
3、启动Nginx:安装完成后,启动Nginx服务:
sudo systemctl start nginx
4、设置开机自启:为了确保Nginx在系统重启后自动启动,运行:
sudo systemctl enable nginx
5、检查状态:检查Nginx服务是否正常运行:

sudo systemctl status nginx
6、防火墙设置:如果你的服务器启用了防火墙,需要开放80和443端口:
sudo firewallcmd permanent zone=public addservice=http sudo firewallcmd permanent zone=public addservice=https sudo firewallcmd reload
三、配置Nginx
1、主配置文件:Nginx的主配置文件位于/etc/nginx/nginx.conf,你可以使用文本编辑器打开它进行编辑:
sudo vim /etc/nginx/nginx.conf
2、配置虚拟主机:为了管理多个网站,建议为每个域名创建单独的配置文件,在nginx配置文件目录中创建一个新目录来存放虚拟主机配置文件:
sudo mkdir /etc/nginx/conf.d
3、添加虚拟主机配置:在/etc/nginx/conf.d/目录下创建一个新的配置文件,例如mywebsite.conf:
sudo vim /etc/nginx/conf.d/mywebsite.conf
添加以下内容:
server {
listen 80;
server_name mywebsite.com www.mywebsite.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
internal;
}
}4、重启Nginx:每次修改配置文件后,都需要重启Nginx以使更改生效:

sudo systemctl restart nginx
四、部署网站
1、上传网站文件:将你的网站文件上传到Nginx的默认根目录(如/usr/share/nginx/html/),或者在虚拟主机配置中指定的目录。
2、测试网站:在浏览器中输入你的服务器IP地址或域名,查看是否能够正确访问你的网站。
五、日志与监控
1、查看日志:Nginx的访问日志和错误日志通常位于/var/log/nginx/目录下,你可以使用以下命令查看日志:
sudo tail f /var/log/nginx/access.log sudo tail f /var/log/nginx/error.log
2、监控Nginx:你可以使用各种监控工具(如Nagios、Zabbix等)来监控Nginx的性能和状态。
六、常见问题解答(FAQs)
Q1:如何更改Nginx监听的端口?
A1:要更改Nginx监听的端口,你需要编辑Nginx的配置文件(通常是/etc/nginx/nginx.conf或虚拟主机配置文件),找到listen指令并更改端口号,然后重启Nginx,将HTTP端口更改为8080:
server {
listen 8080;
server_name mywebsite.com www.mywebsite.com;
...
}然后重启Nginx:
sudo systemctl restart nginx
Q2:如何配置Nginx使用SSL/TLS?
A2:要为Nginx配置SSL/TLS,你需要获取一个SSL证书(可以是自签名证书或从受信任的证书颁发机构获取的证书),编辑你的虚拟主机配置文件,添加SSL相关配置。
server {
listen 443 ssl;
server_name mywebsite.com www.mywebsite.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
...
} 注意替换/path/to/your/certificate.crt和/path/to/your/private.key为你的实际证书和私钥路径,然后重启Nginx:
sudo systemctl restart nginx
通过遵循上述步骤,你可以在CentOS上成功搭建并配置Nginx服务器,记得定期备份配置文件和网站数据,以防万一。
