一、安装nginx
安装nginx很简单,在终端输入以下命令即可:
sudo apt-get update sudo apt-get install nginx
安装完成后,可以通过以下命令检查nginx的状态:
sudo systemctl status nginx
二、配置nginx
nginx的配置文件在/etc/nginx/nginx.conf中。可以通过以下命令编辑该文件:
sudo nano /etc/nginx/nginx.conf
以下是一个简单的nginx配置文件示例:
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
三、设置虚拟主机
在/etc/nginx/sites-available目录下创建配置文件,然后将其符号链接到/etc/nginx/sites-enabled目录中:
sudo nano /etc/nginx/sites-available/example.com sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
以下是一个简单的虚拟主机配置文件示例:
server { listen 80; listen [::]:80; server_name example.com www.example.com; root /var/www/example.com/public_html; index index.html; location / { try_files $uri $uri/ =404; } }
四、启用gzip压缩
启用gzip压缩可以加速网站的加载速度,也可以降低带宽使用,以下是在nginx中启用gzip压缩的示例配置:
gzip on; gzip_disable "msie6"; gzip_vary on; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml application/xml+rss text/xml;
五、设置缓存
设置缓存可以减轻服务器的负载,以下是在nginx中设置缓存的示例配置:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; proxy_cache_key "$scheme$request_method$host$request_uri"; proxy_cache_valid 200 304 12h;
六、防止DDoS攻击
防止DDoS攻击可以保障网站的稳定性和安全性,以下是配置nginx的limit_conn_zone和limit_conn指令来防止DDoS攻击的示例:
limit_conn_zone $binary_remote_addr zone=addr:32m; limit_conn addr 10;
七、防止XSS攻击
防止XSS攻击可以保护用户数据的安全,以下是在nginx中设置HTTP头信息来防止XSS攻击的示例配置:
add_header X-XSS-Protection "1; mode=block" always;
八、防止SQL注入攻击
防止SQL注入攻击可以保护网站数据库的安全,以下是在nginx中设置HTTP头信息来防止SQL注入攻击的示例配置:
add_header X-Content-Type-Options "nosniff" always;
九、总结
以上就是一些提高nginx Web服务器性能与安全的配置指南。当然,这只是基础的配置,根据实际情况还需要进行更加详细的配置。