插件窝 干货文章 CentOS7下安装Nginx服务器实例分析

CentOS7下安装Nginx服务器实例分析

Nginx sudo bash 配置 970    来源:    2025-04-25

CentOS 7下安装Nginx服务器实例分析

一、准备工作

在CentOS 7上安装Nginx前,请确保: 1. 拥有root权限或sudo权限的账户 2. 系统已更新到最新状态:sudo yum update 3. 确保系统防火墙配置允许HTTP(80)和HTTPS(443)端口

二、安装Nginx

方法1:通过EPEL仓库安装(推荐)

  1. 添加EPEL仓库:

    sudo yum install epel-release
    
  2. 安装Nginx:

    sudo yum install nginx
    

方法2:从Nginx官方仓库安装(获取最新版本)

  1. 添加Nginx官方仓库:

    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    
  2. 安装Nginx:

    sudo yum install nginx
    

三、Nginx基本操作

  1. 启动Nginx服务:

    sudo systemctl start nginx
    
  2. 设置开机启动:

    sudo systemctl enable nginx
    
  3. 检查运行状态:

    sudo systemctl status nginx
    
  4. 其他常用命令:

    # 停止服务
    sudo systemctl stop nginx
    
    # 重启服务
    sudo systemctl restart nginx
    
    # 重新加载配置(不中断服务)
    sudo systemctl reload nginx
    

四、配置防火墙

允许HTTP和HTTPS流量:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

五、验证安装

在浏览器中输入服务器IP地址,应该能看到Nginx欢迎页面。或者使用curl命令:

curl -I 127.0.0.1

应该返回类似以下响应:

HTTP/1.1 200 OK
Server: nginx/1.20.1
...

六、基本配置

Nginx主配置文件位于:

/etc/nginx/nginx.conf

默认服务器块配置位于:

/etc/nginx/conf.d/default.conf

示例:配置一个简单的虚拟主机

  1. 创建新的配置文件:

    sudo vi /etc/nginx/conf.d/example.com.conf
    
  2. 添加以下内容:

    server {
       listen       80;
       server_name  example.com www.example.com;
    
       location / {
           root   /var/www/example.com/html;
           index  index.html index.htm;
       }
    
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   /usr/share/nginx/html;
       }
    }
    
  3. 创建网站目录:

    sudo mkdir -p /var/www/example.com/html
    
  4. 创建测试页面:

    sudo vi /var/www/example.com/html/index.html
    

    添加简单HTML内容

  5. 设置权限:

    sudo chown -R nginx:nginx /var/www/example.com
    sudo chmod -R 755 /var/www
    
  6. 测试配置并重新加载:

    sudo nginx -t
    sudo systemctl reload nginx
    

七、常见问题解决

1. 无法启动Nginx

  • 检查是否有其他服务占用了80端口:

    sudo netstat -tulnp | grep :80
    
  • 检查错误日志:

    sudo tail -f /var/log/nginx/error.log
    

2. 403 Forbidden错误

  • 确保Nginx用户有访问网站目录的权限
  • 检查SELinux状态: bash getenforce 如果是Enforcing模式,可以临时设置为Permissive: bash sudo setenforce 0 或为目录添加正确的SELinux上下文: bash sudo chcon -Rt httpd_sys_content_t /var/www/example.com/html

3. 配置测试失败

使用以下命令测试配置语法:

sudo nginx -t

八、性能优化建议

  1. 调整worker进程数(在nginx.conf中):

    worker_processes auto;  # 通常设置为CPU核心数
    
  2. 启用gzip压缩:

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
  3. 配置静态文件缓存:

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
       expires 30d;
       add_header Cache-Control "public, no-transform";
    }
    

通过以上步骤,您应该可以在CentOS 7上成功安装并配置Nginx服务器。根据实际需求,您可以进一步配置负载均衡、反向代理、HTTPS等高级功能。