当前位置: 首页 > news >正文

Nginx 实战实验:从基础配置到虚拟主机搭建 - 指南

实验 1 安装部署自己的nginx

1.先在客户端及服务器上下载nginx,关闭防火墙,关闭 SELinux 的强制 enforcement 模式,启动nginx服务。

2. 修改nginx配置配置文件 /etc/nginx/nginx.conf 将服务运行在8080端口 监听的域名为www.xxx.com,修改 端口及 server_name
37 listen 8080;
39 server_name www.wm.com;

3.检查/etc/nginx/nginx.conf文件是否正确 重启nginx nginx -t
nginx -s reload(systemc restart nginx)
4. 给服务器和客户端添加域名解析,并且将服务器client的网关改成服务器的IP
vim /etc/hosts
######
xxx.xxx.xxx.100(服务器ip) www.xxx.com(服务器域名解析)
#######

允许通过查看/etc/hosts文件来验证以及修改client服务器的网关
5.确认server默认发布目录
root /usr/share/nginx/html;
所以 www.lyh.com/image/1.png 本质就是访问/usr/share/nginx/html/image/1.png
进入到默认发布目录创建目录image 并在其中新增一张名为1.png的图片
cd /usr/share/nginx/html
mkdir image
cp nginx-logo.png image/1.png
6.通过客户端的浏览器 访问 www.lyh.com:8080/image/1.png查看图片

实验2 指定默认的发布目录和发布文件

1.指定虚拟主机的根目录是/web
mkdir /web
2.指定默认发布文件为1.png(从/usr/share/nginx/html/目录中复制一张图片过来)
cp /usr/share/nginx/html/nginx-logo.png /web/1.png
3.修改配置文件
vim /etc/nginx/nginx.conf
41 server_name www.wm.com;
42 root /web;
43 index 1.png;
4.检查配置文件是否正确,重新加载配制间
nginx -t
nginx -s reload
5.通过浏览器浏览 http://www.wm.com:8080
http://www.wm.com:8080/1.png

实验3 搭建带密码功能的网站

1 第一安装工具:httpd-tools
dnf install httpd-tools

2.新增一个专门管理网站登录的账户
useradd ly
passwd lyh
3.将网站和这个账户关联起来

4. 启用htpasswd 关联wm和网站
htpasswd -c /etc/nginx/passwd wm
New password:
Re-type new password:
Adding password for user wm
5. 修改nginx的配置文件
vim /etc/nginx/nginx.conf
43 auth_basic "please input your passwd"; # 登陆提示
44 auth_basic_user_file /etc/nginx/passwd; # 管理网站和密码文件
6. 检查正确与否 重新加载
nginx -t
nginx -s reload
7. 通过浏览器验证

https:www.wm.com:8080

实验4 搭建一个下载网站

# 修改主配置文件,新增一个属性autoindex on表示开启下载列表
1. 下载列表中的内容就是 当前虚拟主机的root目录中的内容
vim /etc/nginx/nginx.conf
+++++++++++++++++++++++
44 autoindex on; # 新增该属性
45 #index 1.png; # 这个属性与autoindex有冲突,

++++++++++++++++++++++++

假设两个属性都存在则 autoindex失效 index有效
另外,假如目录中存在html文件,该目录也不能成为下载列表
2.重载配置文件
nginx -t
nginx -s reload
3.通过浏览器验证

实验5 基于ip的虚拟主机

创建两个虚拟主机,一个虚拟主机的ip是129 另一个虚拟主机的ip是140
1.添加新的ip的140
nmcli connection modify enp0s5 +ipv4.addresses 192.168.198.140/24
# 2.在/etc/nginx/conf.d目录中 添加两个虚拟主机的子配置文件 ip129.conf ip140.conf
vim /etc/conf.d/ip129.conf
++++++++++++++++++++++++
server{
listen 80;
server_name 192.168.198.129;
root /web/129;
}
++++++++++++++++++++++++
vim /etc/conf.d/ip140.conf
++++++++++++++++++++++++
server{
listen 80;
server_name 192.168.198.140;
root /web/140;
}
++++++++++++++++++++++++
3.在web目录中为虚拟主机创建他们各自的根目录
cd /web
mkdir 129 140

echo "tuqingwen zai 129" > 129/index.html
echo "bihewei zai 140" > 140/index.html
4. 重新加载新增的子配置文件
nginx -t
nginx -s reload
5. 用浏览器去验证

实验6 基于端口和域名的虚拟主机

1.修改配置文件 添加两个虚拟主机 并且给其中一台添加location

server {
listen 90;
server_name www.wm1.com;
root /web/wm;
error_page 404 /404.html;
location = /404.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

server {
listen 100;
server_name www.wm2.com;
root /web/wm2;

error_page 404 /404.html;
location = /404.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

2. 修改/etc/hosts
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.198.129 www.wm1.com www.wm2.com
192.168.198.140 www.wm.com
3. 创建虚拟主机的发布目录
mkdir /web
mkdir /web/lyh
mkdir /web/lyh2
echo "tuqingwenbuliwo 90" > /web/wm/index.html
echo "biheweishouqi 100" > /web/wm2/index.html
4.检查配置文件正确与否 正确则重新加载配置文件
nginx -t
nginx -s reload

5. 用浏览器去验证

http://www.jsqmd.com/news/338881/

相关文章:

  • 网络安全学习指南:SSRF漏洞原理与实战,建议收藏
  • Thinkphp和Laravel框架的生鲜海鲜商城交易系统设计与实现没论文
  • 《构建之法》第二章 个人技术和流程 读书笔记 - GENGAR
  • 收藏!小白入行网络安全指南:从技术原理到月入20K的职业路径全解析
  • 伐度司他Vadadustat治疗慢性肾病透析患者贫血的每日一次口服滴定方案
  • Thinkphp和Laravel框架的社区医疗保健健康预警监控系统的设计与实现
  • OpenClaw 安装文档
  • 开源69.9k星标,国产OCR杀进全球第一梯队,全新升级,文档再歪再糊也不怕(附源码)
  • eScan 杀毒软件被用于供应链攻击传播恶意软件
  • 必收藏!网络安全五大专业深度解析:谁主攻科研?谁进大厂拿高薪?小白程序员入门必看指南
  • PandaWiki:开源企业级AI知识库工具,基于RAG架构的私有化部署方案
  • 奇安信获NVDB-CAVD年度优秀技术支撑单位 10项原创漏洞证书彰显车联网安全实力
  • 无人机城市管理 AI+虚仿 创新实训室:构建城市管理智慧实训新构架
  • 基于springboot的大学生就业招聘系统-计算机毕业设计源码+LW无文档
  • 基于springboot健康管理微信小程序的设计与实现
  • 网络安全黑客入门必看:漏洞挖掘基础知识与平台收藏指南
  • 基于springboot的电动车租赁平台系统-计算机毕业设计源码+LW无文档
  • 国产化工业数据库推荐品牌崛起,筑牢工业高质量发展数据根基 - 速递信息
  • leetcode 3637. 三段式数组 I 简单
  • SpringBoot + Arthas,线上监控诊断进阶玩法!
  • 1月30号:急不来
  • 资源不够用,真的是机器太少吗?
  • SpringBoot 高效处理图片压缩包:上传、解压与存储实战指南
  • Spring AOP + Guava RateLimiter:我是如何用注解实现优雅限流的?
  • 大模型训练全流程解析:从“书呆子“到“智能体“的蜕变之路
  • 别被“涂颜色”骗了——从「栅栏涂色(Paint Fence)」看动态规划真正的思维方式
  • 谋新篇,启新程-群峰机械30周年庆典暨新综合大楼、新厂房落成典礼圆满成功
  • 混用 @Transactional 和 TransactionTemplate 被怼了,三种事务管理到底怎么选?
  • LangGraph多智能体实战:从零构建专业AI研究助手,附完整代码
  • 信息差永远是最容易上手的生意