从零开始配置Nginx,各种配置实例
创作时间:
作者:
@小白创作中心
从零开始配置Nginx,各种配置实例
引用
CSDN
1.
https://blog.csdn.net/zgt_certificate/article/details/140337457
本文通过三个具体的案例,详细介绍了如何使用Nginx配置静态网站、反向代理和负载均衡。每个案例都包含了详细的步骤和代码示例,适合有一定基础的IT技术人员阅读。
案例1:通过Nginx搭建静态网站,基于IP过滤设置用户访问限制
实验环境
虚拟机server1作为Nginx服务器。
步骤
Step 1:修改配置文件
在server1中:
cd /usr/local/nginx
cd conf/
vim nginx.conf
Step 2:编辑Nginx配置文件
打开 nginx.conf 文件,添加以下配置:
server {
listen 80;
server_name server1;
location / {
autoindex on;
allow 192.168.1.0/24; # 允许此IP段访问
deny all; # 默认拒绝所有访问
if ($remote_addr !~ "192.168.1.") {
return 403; # 如果IP不在允许的范围内,返回403
}
}
error_page 403 404 500 502 503 504 /50x.html;
}
listen 80;:监听80端口。server_name server1;:指定服务器名为server1。location / {}:配置根路径的访问规则。autoindex on;:开启目录浏览。allow 192.168.1.0/24;:允许192.168.1.0/24网段的IP访问。deny all;:拒绝所有其他IP访问。if ($remote_addr !~ "192.168.1.") { return 403; }:如果请求的IP不匹配192.168.1.,则返回403错误。error_page 403 404 500 502 503 504 /50x.html;:配置错误页面。
Step 3:重启Nginx服务
nginx -s reload
案例2:通过Nginx实现反向代理,访问后端web服务
实验环境
需要虚拟机server1和server2。server1作为Nginx服务器,server2安装Apache服务,server3作为客户端。
步骤
Step 1:修改配置文件
在server1中:
cd /usr/local/nginx
cd conf/
vim nginx.conf
Step 2:编辑Nginx配置文件
打开 nginx.conf 文件,添加以下配置:
http {
include mime.types;
default_type application/octet-stream;
upstream backend {
server 192.168.1.2:80; # 定义后端Apache服务器地址
}
server {
listen 80;
server_name server1;
location / {
proxy_pass http://backend; # 反向代理到后端服务器
}
}
}
upstream backend {}:定义一个名为backend的后端服务器组。server 192.168.1.2:80;:指定后端服务器的地址和端口。proxy_pass http://backend;:将请求转发到定义的backend服务器组。
Step 3:在server2中安装并配置Apache
yum install httpd -y
echo "Hello from Apache!" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
Step 4:在server3中测试
curl http://server1
预期输出:
Hello from Apache!
案例3:通过Nginx实现web服务的负载均衡
实验环境
server1作为Nginx服务器,server2和server3作为Apache服务器。
步骤
Step 1:修改配置文件
在server1中:
cd /usr/local/nginx
cd conf/
vim nginx.conf
Step 2:编辑Nginx配置文件
打开 nginx.conf 文件,添加以下配置:
http {
include mime.types;
default_type application/octet-stream;
upstream backend {
server 192.168.1.2:80 weight=3; # server2权重为3
server 192.168.1.3:80 weight=1; # server3权重为1
}
server {
listen 80;
server_name server1;
location / {
proxy_pass http://backend; # 负载均衡到后端服务器组
}
}
}
upstream backend {}:定义后端服务器组。server 192.168.1.2:80 weight=3;:指定192.168.1.2的权重为3。server 192.168.1.3:80 weight=1;:指定192.168.1.3的权重为1。proxy_pass http://backend;:将请求负载均衡到backend服务器组。
Step 3:在server2和server3中安装并配置Apache
yum install httpd -y
echo "Hello from Apache on server2!" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
# 在server3中:
yum install httpd -y
echo "Hello from Apache on server3!" > /var/www/html/index.html
systemctl start httpd
systemctl enable httpd
Step 4:在server3中测试
curl http://server1
预期输出会交替显示:
Hello from Apache on server2!
Hello from Apache on server3!
热门推荐
万达出售珠海商管60%股份自救,应成为企业应对债务风险的模板
婚姻家庭咨询师:工作内容、获取流程、就业前景
“氯化钙”保持干燥环境的利器
法硕非法学民法课程学习的核心问题与解决路径
如何平衡员工工作与生活的界限,增强工作满意度?
如何理解现货与期货的关系?这种关系对市场有何影响?
掌握PostgreSQL的psql命令行工具
趣味阅读:如何提升阅读的乐趣
大阪日语怎么说:探索大阪方言的独特魅力
日语中怎么表达开玩笑?
承揽合同纠纷起诉证据的搜集与运用
如何选择适合的小区物业管理模式
田中柠檬新品种有哪些
柠檬树可以室内养吗
起底“东北雨姐”的“彪悍”人生:夫妻实控约30家企业,一年3次“翻车”
确诊为艾滋病的权威依据:科学检测与综合评估
钢的关键性能(简述钢的性能特点)
指甲月牙不见是大病征兆?指甲长竖线是罹癌警讯?医生提醒这两种情况需尽快就医
发短信辱骂他人是否违法?法律后果全解析
个人绩效考评意见中,如何提出具体的改进方向?
交易过户费的含义是什么?如何计算交易过户费?
“业委会”与“物管会”有什么区别?
山东烧鸡:传统工艺与文化传承
北京联合大学:一切为了学生“好就业,就好业”
《爱国歌曲大合唱唱出心中情》主题班会
欧美国家留学条件是什么
蒲地蓝消炎片说明书
日本国债收益率创16年新高,或将带动美日超跌反弹
脲铵氮肥的主要成份及增效机理
前沿算法学习机器视觉工程师照亮智能之眼