因此不能配置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的網站