最近需要学习sql注入,所以自己写了简单的代码想要在服务器实现其功能,所以就需要本机和虚拟机实现互相通信,并且能够访问最开始搭建好的nginx服务器。虚拟机的有桥接模式,还有共享主机,设置特殊虚拟网络三种模式,本次采用了桥接模式(自动)。
1. 对Linux防火墙设置
CentOS7默认使用的是firewall作为防火墙,这里改为iptables防火墙
- 关闭firewall
systemctl stop firewalld.service # 停止firewall
systemctl disable firewalld.service # 禁止firewall开机启动
- 安装iptables防火墙
yum install iptables-services # 安装
- 修改文件配置允许80端口
vi /etc/sysconfig/iptables # 编辑防火墙配置文件
按i进入文本编辑 在原文档中找到
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
在该行下面添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
:wq! # 保存退出
systemctl restart iptables.service # 最后重启防火墙使配置生效
systemctl enable iptables.service # 设置防火墙开机启动
2.Nginx文件位置
- /usr/share/nginx/html:网站文件存放默认目录
- /etc/nginx/conf.d/default.conf:网站默认站点配置
- /etc/nginx/conf.d:自定义Nginx站点配置文件存放目录
- /etc/nginx/nginx.conf:Nginx全局配置
3.配置本地和虚拟机
虚拟机上/etc/hosts 配置
127.0.0.1 seven.cn
物理机上C:/Windows/System32/drivers/etc 的hosts内容,ip空格加域名
192.168.3x.xxx seven.cn
3.1 nginx虚拟机访问规则
然后在Nginx全局配置里的文件编辑文本,先到nginx.conf看到最后一行
include /etc/nginx/conf.d/*.conf;
到所在的conf.d文件夹里,创一个vhosts.conf,内容写为
server {
listen 80;
server_name seven.cn;
location /www {
root /data/; # root是当匹配www的时候到/data/www/ 下找index.html
# 如果data下没有www目录就会报错
index index.html;
}
补充:
localtion 外面是全局配置
location 里面是局部配置
3.2 实现物理机互ping虚拟机
首先访问了nginx的index.html,然后访问了自己写的一个提交表单的文件,实现简单的跳转功能。
3.3 mv命令学习
这个过程还学习了linux命令移动文件的方式,mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。
- 格式
mv [options] 源文件或目录 目标文件或目录
- 实例
mv test3.html /usr/nginx/share/html
最终效果:
4. 小结
在解决的问题的过程中,不断的查阅博客和一些技术资料,对于nginx的配置有了更进一步的了解,从逻辑上理解了一个IP地址通过URL之后结合tcp、http的方式传输到后台nginx,并让其解析相关代码,实现对前端传输数据到后端分析的这么一个过程。
5.参考文章
VMware里安装的虚拟机怎么和本地真实机ping通
linux命令移动文件的所在位置
nginx开启后主机无法访问虚拟机的nginx解决方案
nginx虚拟机访问规则
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/269458.html