在CentOS上配置Nginx作为高性能Web服务器涉及多个步骤,包括安装、基本配置、性能优化和安全性加固。以下是详细的指南:
安装Nginx
-
安装依赖库:
sudo yum install gcc gcc-c++ zlib pcre openssl openssl-devel -y
-
下载并安装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
-
创建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
-
启动并启用Nginx:
sudo systemctl start nginx sudo systemctl enable nginx
基本配置
-
配置文件: Nginx的主配置文件位于
/usr/local/nginx/conf/nginx.conf
。在该文件中,进行全局配置。 -
示例配置:
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; } } }
性能优化
-
调整工作进程: 将
worker_processes
设置为与CPU核数相同。worker_processes auto;
-
启用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;
-
静态文件缓存:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; log_not_found off; }
安全性加固
-
隐藏版本号信息: 在配置文件中添加:
server_tokens off;
-
限制访问敏感目录:
location ~ /\.git { deny all; } location ~ /\.ht { deny all; }
-
配置SSL/TLS加密:
ssl_certificate /path/to/your/certificate.crt; ssl_certificate_key /path/to/your/private.key;
-
设置HSTS:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
通过以上步骤,你可以在CentOS上配置一个高性能且安全的Nginx Web服务器。