一、安装Nginx
Nginx是一款轻量级高性能的Web服务器和反向代理服务器,被广泛使用于互联网领域,特别是在高并发的情况下。在CentOS中安装Nginx非常简单,只需要执行以下命令:
yum install nginx
执行完上述安装命令后,Nginx就已经安装并运行了。可以使用以下命令启动、停止、重启、重新加载配置:
systemctl start nginx #启动Nginx systemctl stop nginx #停止Nginx systemctl restart nginx #重启Nginx systemctl reload nginx #重新加载Nginx配置(不会中断正在进行的连接)
二、设置Nginx的基本配置
默认情况下,Nginx的配置文件路径为/etc/nginx/nginx.conf。在该配置文件中可以配置Nginx的基本设置,比如监听的端口、访问日志等。打开配置文件后,可以进行一些基本设置:
worker_processes 1; #指定工作进程数 error_log /var/log/nginx/error.log warn; #错误日志 pid /var/run/nginx.pid; #PID文件保存路径 events { worker_connections 1024; } #设置work连接数 http { include /etc/nginx/mime.types; default_type application/octet-stream; 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; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; } #http的全局配置
三、配置虚拟主机
虚拟主机,常见于Web服务器,允许在同一台服务器上运行多个网站,每个网站有自己的域名或IP地址。虚拟主机的配置,需要在Nginx的配置文件/etc/nginx/nginx.conf中进行,可以在文件底部添加下面的代码:
server { listen 80; server_name example.com; location / { root /usr/share/nginx/html; index index.html index.htm; } }
上述代码会为example.com域名创建一个虚拟主机,并且指定该虚拟主机使用的端口是80。其中,location指令定义了Web服务器如何响应URI,root指令指定了Web服务器文件的根目录。
四、设置HTTPS
使用HTTPS可以保证网站和用户之间的数据传输是安全的。Nginx支持HTTPS,可以使用以下命令进行安装:
yum install -y nginx openssl
安装完以上两个软件包后,就可以进行HTTPS配置了。首先需要生成SSL证书文件,在命令行中执行:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
执行完上述命令后,会在/etc/nginx目录下生成一个cert.key和cert.crt文件,接下来在Nginx的配置文件/etc/nginx/nginx.conf中添加以下内容:
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/cert.crt; ssl_certificate_key /etc/nginx/cert.key; location / { root /usr/share/nginx/html; index index.html index.htm; } }
注意,需要将server监听端口改为443,并添加ssl指令来开启HTTPS服务。其中,ssl_certificate指令指定证书文件位置,ssl_certificate_key指令指定私钥文件位置。
五、启用Nginx缓存
启用Nginx缓存可以提高网站性能,大大减少后端服务器的压力,同时可以提供更快的访问速度。Nginx缓存可以设置为三种模式:fastcgi、proxy和memcached。下面以proxy模式为例:
upstream myserver { server backend1.example.com; server backend2.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://myserver; proxy_cache_bypass $http_pragma; proxy_cache_revalidate on; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; proxy_cache_key "$host$request_uri"; proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; proxy_temp_path /var/cache/nginx/temp; add_header X-Proxy-Cache $upstream_cache_status; } }
上述代码使用了proxy模式,创建了一个名称为myserver的upstream,指定了多个后端服务器。然后在location指令中引用myserver,其后设置缓存的相关指令。
六、启用Nginx负载均衡
Nginx可以使用负载均衡来提高网站并发量,同时也可以将负载均衡作为一种扩展手段来进行服务器架构的设计。Nginx提供了多种负载均衡算法,如轮询、IP哈希、加权轮询等,在使用时需要根据实际情况进行选择。以下是一个简单的Nginx负载均衡配置示例:
upstream myserver { server backend1.example.com weight=5; server backend2.example.com; server backend3.example.com; } server { listen 80; server_name example.com; location / { proxy_pass http://myserver; } }
上述代码定义了一个名为myserver的upstream,其中backend1的权重为5,backend2和backend3的权重均为1。在location指令中引用myserver即可实现负载均衡。
七、总结
本文主要介绍了在CentOS中安装Nginx,以及如何进行基本配置、设置虚拟主机、启用HTTPS、启用Nginx缓存、启用Nginx负载均衡等。通过本文的介绍,您应该已经对Nginx有了更深入的了解,能够更好地进行Web服务器的架设和性能优化。