phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)

phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)

1、总结

一句话总结:把原生php的网站直接放到thinkphp5的public目录下能够解决以stem.aaaa.hk\**方式访问原生网站会被当成thinkphp子模块的问题

最后的解决方法(别人想出来的):
把原生php的网站直接放到thinkphp5的public目录下
以stem.aaaa.hk访问thinkphp5的那个网站
以stem.aaaa.hk\** 来访问便可

 

一、thinkphp5开发的网站apache发布的时候能放到子目录下么?

不能

因此不能配置stem.aaaa.hk\mo来访问thinkphp5的那个网站php

 

 

二、如何让web服务器启动监听0.0.0.0(而不是127.0.0.1)?

apache

下面是网上找到的问题及回答,因此才有了上面的问题: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

 

三、netstat查看服务器端口时TCP里面有175.***.***.132:81,可是后面的状态是FIN_WAIT_2,80后面是SYN_RECEIVED?

TCP/IP协议
主动关闭 SERVER FIN_WAIT2 状态

在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

 

四、直接修改apache配置的方式很差用的时候,能够考虑直接用phpstudy的站点配置功能?

phpstudy 站点配置
vhosts.conf

直接用phpstudy的站点配置功能和手动修改时同样的浏览器

直接用phpstudy的站点配置功能生成的文件为 vhosts.conf服务器

这样不容易出错thinkphp5

使用的时候记得在http.conf中开放vhosts.conf便可

 

 

 

2、phpstudy一个域名配置两个网站(一个是thinkphp5,一个是原生php)

一、问题描述

一个域名(例如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的网站

thinkphp5那个网站没法访问,原生php那个网站能够访问
 

二、解决方法

最后的解决方法(别人想出来的):
把原生php的网站直接放到thinkphp5的public目录下
以stem.aaaa.hk访问thinkphp5的那个网站
以stem.aaaa.hk\** 来访问便可
 
这样简单方便,可是缺点就是把两个网站关联起来的
 
我想的是用不一样的端口来区分不一样的网站,好比80,81,
好比用stem.aaaa.hk 来访问thinkphp5的那个网站
好比用stem.aaaa.hk:81 来访问原生php的网站
可是在服务器上配置好端口81后本机能够访问,可是外网却访问不了,猜想是路由限制了端口(在防火墙里面开放了这个端口,在apache里面也监听了这个端口),其实并没找到实际缘由
相关文章
相关标签/搜索