117.info
人生若只如初见

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

在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服务器。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe8bfAzsKAgJfB1E.html

推荐文章

  • CentOS Swap对系统性能有何影响

    在CentOS系统中,Swap(交换空间)是一种虚拟内存技术,它在物理内存不足时将部分数据从内存移动到硬盘上,以释放物理内存空间供其他程序使用。虽然Swap可以在某...

  • CentOS SFTP支持哪些协议

    SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输协议。它提供了端到端的加密和身份验证,确保数据在传输过程中的安全性。SFTP利用SSH的安...

  • SSH在CentOS上的权限如何设置

    在CentOS上设置SSH权限,主要涉及以下几个方面: 用户权限: 确保只有授权的用户可以访问SSH。可以通过编辑/etc/ssh/sshd_config文件来配置允许登录的用户。

  • 如何在CentOS上进行Java跨平台编译

    在CentOS上进行Java跨平台编译,通常是指使用一个平台的工具来编译出可以在另一个平台上运行的Java代码。由于Java是一种跨平台的编程语言,你可以在任何支持Java...

  • 在CentOS Minimal上如何设置默认文件权限

    在 CentOS Minimal 上设置默认文件权限,您需要了解 umask 的概念以及如何使用它 打开终端。 使用文本编辑器打开 /etc/profile 文件。例如,您可以使用 nano 编辑...

  • CentOS Minimal与完整版的区别在哪里

    CentOS Minimal与完整版的区别主要体现在以下几个方面: 软件包数量: Minimal版本:只包含运行系统所必需的基本软件包和服务,因此体积较小,适合需要最小化系统...

  • CentOS Minimal有哪些基本命令

    在CentOS Minimal中,有许多基本命令可以帮助你进行系统管理和日常操作。以下是一些常用的基本命令: 系统管理 更新软件包:sudo yum update
    安装软件包:s...

  • CentOS Minimal中如何安装软件包

    在 CentOS Minimal 中,您可以使用 yum 或 dnf 包管理器来安装软件包。以下是使用这些工具安装软件包的基本步骤: 更新系统(可选但推荐):
    在安装任何新软...