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裏面也監聽了這個端口),其實並沒找到實際緣由
相關文章
相關標籤/搜索