因此不能配置stem.aaaa.hk\mo来访问thinkphp5的那个网站php
下面是网上找到的问题及回答,因此才有了上面的问题:html
我有一个linux服务器,在linux服务器上运行了程序,在服务器上经过浏览器访问localhost:8080/login.html可以访问我运行的程序,我如今向对外网开放8080端口。达到在外网访问程序的目的,既在外网经过浏览器登陆:ip(服务器对外ip):8080/login.html访问个人程序。该怎么实现呢?linux
首先你的服务器是否有外网可直达的IP,若是有的话那就简单,配置一下你的web服务器启动监听0.0.0.0(而不是127.0.01)就能够。具体要查询一下你用的是什么web server。
若是IP不能直达,那就要找一台有外网IP的服务器来作反向代理了,可使用nginx等来支持nginx
web服务器,我用的明显就是apacheweb
在TCP/IP协议中,TCP协议提供可靠的链接服务,采用三次握手创建一个链接。
第一次握手:创建链接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时本身也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。thinkphp
在HTTP应用中,存在一个问题,SERVER因为某种缘由关闭链接,如KEEPALIVE的超时,这样,做为主动关闭的SERVER一方就会进入 FIN_WAIT2状态,但TCP/IP协议栈有个问题,FIN_WAIT2状态是没有超时的(不象TIME_WAIT状态),因此若是CLIENT不关闭,这个FIN_WAIT_2状态将保持到系统从新启动,愈来愈多的FIN_WAIT_2状态会导致内核crash。 apache
直接用phpstudy的站点配置功能和手动修改时同样的浏览器
直接用phpstudy的站点配置功能生成的文件为 vhosts.conf服务器
这样不容易出错thinkphp5
使用的时候记得在http.conf中开放vhosts.conf便可
一个域名(例如stem.aaaa.hk,域名只是举例的,不是真的)上面要配置两个网站,一个是thinkphp5,一个是原生php
直接域名stem.aaaa.hk能够访问thinkphp5的那个网站
原生php的网站若是配置成stem.aaaa.hk\pf来访问就会出错,出错提示是thinkphp5的网站里面没有pf模块,出错缘由是thinkphp5那个网站把stem.aaaa.hk\pf中的\pf解析成了pf模块了
既然是把\解析成了模块,换个符号试试呢
另外一种解决思路:
配置stem.aaaa.hk来访问thinkphp5的那个网站
配置stem.aaaa.hk:81来访问原生php的网站
这样作本机能够正常访问,可是外面没办法,在防火墙处开启了81端口仍是不行,估计多是路由转发的问题
另外一种思路:
配置stem.aaaa.hk\mo来访问thinkphp5的那个网站
配置stem.aaaa.hk\pf来访问原生php的网站