centos

CentOS与Nginx:高性能Web服务器的配置

小樊
92
2025-02-12 14:04:37
栏目: 云计算

在CentOS上配置Nginx作为高性能Web服务器涉及多个步骤,包括安装、基本配置、性能优化和安全性加固。以下是详细的指南:

安装Nginx

  1. 安装依赖库

    sudo yum install gcc gcc-c++ zlib pcre openssl openssl-devel -y
    
  2. 下载并安装Nginx

    cd /usr/local
    wget http://nginx.org/download/nginx-1.23.3.tar.gz
    tar -zxvf nginx-1.23.3.tar.gz
    cd nginx-1.23.3
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.45
    make && make install
    
  3. 创建SSL软链接

    ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
    ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
    
  4. 启动并启用Nginx

    sudo systemctl start nginx
    sudo systemctl enable nginx
    

基本配置

  1. 配置文件: Nginx的主配置文件位于/usr/local/nginx/conf/nginx.conf。在该文件中,进行全局配置。

  2. 示例配置

    user nobody;
    worker_processes auto;
    
    events {
        worker_connections 1024;
    }
    
    http {
        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;
    
        server {
            listen 80;
            server_name example.com;
    
            location / {
                root /usr/share/nginx/html;
                index index.html index.htm;
            }
    
            location /static/ {
                alias /path/to/your/static/files/;
                expires 30d;
                access_log off;
            }
        }
    }
    

性能优化

  1. 调整工作进程: 将worker_processes设置为与CPU核数相同。

    worker_processes auto;
    
  2. 启用Gzip压缩

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

    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        log_not_found off;
    }
    

安全性加固

  1. 隐藏版本号信息: 在配置文件中添加:

    server_tokens off;
    
  2. 限制访问敏感目录

    location ~ /\.git {
        deny all;
    }
    
    location ~ /\.ht {
        deny all;
    }
    
  3. 配置SSL/TLS加密

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/private.key;
    
  4. 设置HSTS

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    

通过以上步骤,你可以在CentOS上配置一个高性能且安全的Nginx Web服务器。

0
看了该问题的人还看了