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