在CentOS上快速安装Nginx可以通过以下步骤完成,这里提供两种主流方法(yum安装和源码编译安装):
# 安装EPEL仓库(CentOS 7/8)
sudo yum install epel-release -y
# 或者直接添加Nginx官方仓库(推荐)
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
curl -I 127.0.0.1
# 应看到 "HTTP/1.1 200 OK" 响应
sudo yum groupinstall "Development Tools" -y
sudo yum install pcre-devel zlib-devel openssl-devel -y
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module
make && sudo make install
sudo tee /usr/lib/systemd/system/nginx.service <<-'EOF'
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl start nginx
端口冲突
sudo netstat -tulnp | grep 80
# 如果被占用,修改Nginx配置:/etc/nginx/conf.d/default.conf
SELinux阻止
sudo setenforce 0 # 临时关闭
# 或
sudo semanage port -a -t http_port_t -p tcp 81 # 添加新端口
防火墙放行
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
/var/log/nginx/access.log
和 error.log
/usr/share/nginx/html
安装完成后,浏览器访问服务器IP即可看到Nginx欢迎页面。如需HTTPS支持,可使用Let's Encrypt免费证书。