1. Nginx概述
Nginx(发音为"engine x")是一个高性能的Web服务器,与Apache相比,资源消耗更低。它不仅支持高并发的Web服务和反向代理服务,还支持基于IMAP/POP3/SMTP协议的邮件服务。此外,Nginx还支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能,并且支持很多第三方模块的扩展。
2. Nginx安装部署
2.1 安装Nginx
在CentOS上安装Nginx的步骤如下:
更新系统包:
sudo yum update -y
安装Nginx:
sudo yum install -y epel-release sudo yum install -y nginx
启动并设置Nginx开机自启动:
sudo systemctl start nginx sudo systemctl enable nginx
3. Nginx基本配置
Nginx的配置文件主要位于/etc/nginx/nginx.conf
。以下是一些常见的配置示例:
3.1 网站配置
在/etc/nginx/nginx.conf
文件中,定义一个简单的HTTP服务:
server {
listen 80;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
3.2 虚拟主机
可以在Nginx配置文件中添加多个server
块来配置多个虚拟主机:
server {
listen 80;
server_name site1.example.com;
location / {
root /usr/share/nginx/site1;
index index.html index.htm;
}
}
server {
listen 80;
server_name site2.example.com;
location / {
root /usr/share/nginx/site2;
index index.html index.htm;
}
}
3.3 访问控制
通过Nginx的配置,可以控制访问权限:
server {
listen 80;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
allow 192.168.1.0/24;
deny all;
}
}
3.4 反向代理
Nginx可以作为反向代理服务器:
server {
listen 80;
server_name proxy.example.com;
location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
4. Nginx应用案例
4.1 负载均衡
Nginx可以用来做负载均衡,分发请求到多个后端服务器:
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
4.2 静态文件服务
Nginx非常适合用来提供静态文件服务:
server {
listen 80;
server_name static.example.com;
location / {
root /usr/share/nginx/static;
autoindex on;
}
}
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。