本文目錄一覽:
- 1、linux服務器已經安裝了nginx,並且搭了一個java程序的情況想,怎麼安裝php服務,並把php程序放在裏面?
- 2、怎樣搭建支持 java-php-Mysql服務器運行環境
- 3、java與PHP兩個程序能同時運行在一個服務器里嗎
- 4、如何在Centos上搭建PHP+JAVA的服務器
- 5、在一台服務器上同時運行ASP、JAVA、PHP、HTML幾種網站程序是否支持?
linux服務器已經安裝了nginx,並且搭了一個java程序的情況想,怎麼安裝php服務,並把php程序放在裏面?
直接安裝上PHP程序,然後在nginx中配置php文件使用php程序執行就可以了。兩者之間是沒有影響的,也就是說java程序和PHP程序是一樣的。你java怎麼配置的,PHP就可以怎麼配置。
怎樣搭建支持 java-php-Mysql服務器運行環境
java環境下載jspStudy集成環境
php環境下載phpStudy集成環境
java+php結合使用,將mysql設置為系統環境變量,可以達到mysql服務共用。
啟動iis或者apche等服務器,設置好虛擬目錄就行了
java與PHP兩個程序能同時運行在一個服務器里嗎
主函數所在類必須是public,而public類則必須定義在以該類名為文件名的java文件中。
所以你要同時運行兩個主函數,就要獨立的寫兩個java文件,而不能這樣放在一起。
首先:分成兩個文件
其次:public class StaticTest 必須在 StaticTest.java 這個文件內
Employee.java 裏面把主函數注釋了
如果不注釋,他就不運行StaticTest.java裏面的主函數..
如果注釋了,就報錯誤.
那麼Eclipse在Run的菜單上,把之前自動生成的運行配置項(名字大概是:Run Configuration…)先手工刪除掉,然後重新試試。
如何在Centos上搭建PHP+JAVA的服務器
一、需要解決中央控制端到各節點服務器之間的通信。
這個其實牽扯到一個通信協議的問題,各語言都有自己的socket,thread的庫,直接調用即可。但是這個通信協議就需要自己來完成了。既不能太簡單,太簡單了,明碼傳輸,如果別人獲知了這個接口,就很容易執行一些令人討厭的操作。也不能太複雜,太複雜了等於是給自己找麻煩,所以簡單的數據包編解碼的工作或者用token驗證的方式是需要的。通信協議起碼要兩種,一種是傳輸命令執行的協議,一種是傳輸文件的協議。
二、跨語言的socket通信
為什麼要跨語言,主控端和代理端通信,用什麼語言開發其實無所謂。但是為了給自己省事,儘可能使用服務器上已經有了的默認語言,Ambari前期採用php+puppet的方式管理集群,這不是不可以,puppet自己解決了socket通信協議和文件傳輸的問題,可你需要為了puppet在每台服務器上都安裝ruby。我是個有點服務器和代碼潔癖的人。光是為了一個puppet就裝個ruby,我覺得心裏特對不起服務器的資源。所以我自己寫了一個python的代理端。python是不管哪個linux系統在安裝的時候就都會有了。然後主控端的通信,可以用python實現,也可以用php實現,但是考慮到對於更多的使用者來說,改php可能要比改tornado簡單許多,所以就沒用python開發。hadoop分支版本眾多,發佈出去,用戶要自己修改成安裝適合自己的hadoop發行版,就勢必要改源碼,會php的明顯比會python的多。php裏面的model封裝了所有的操作,而python只是個操作代理人的角色而已。
所以也延伸出一個問題,什麼語言用來做這種分佈式管理系統的代理端比較合適,我自己覺得,也就是python比較合適了,操作系統自帶,原生的package功能基本夠用。用java和php也可以寫agent,但是你勢必在各節點預先就鋪設好jre或者php運行環境。這就跟為什麼用python和java寫mapred的人最多是一樣的。沒人攔着你用nodejs寫mapred,也可以寫,就是你得在每個節點都裝v8的解釋引擎,不嫌麻煩完全可以這樣干。原理參看map/reduce論文,不解釋。perl也是操作系統原生帶的,但是perl的可維護性太差了,還是算了吧。
所以這就牽扯到一個跨語言的socket問題,理論上來說,這不存在什麼問題。但這是理論上的,實際開發過程中確實存在問題,比如socket長連接,通信數據包在底層的封裝方式不同。我沒有使用xml-rpc的原因之一就是我聽說php的xmlrpc跟其他語言的xmlrpc有不同的地方,需要修改才能用,我就沒有用這種辦法。最早是自己定義的操作協議,這時就遇到了這些問題,所以後來直接採用了thrift方式。就基本不存在跨語言的socket通信問題了。
三、代理端執行結果的獲取
無論命令還是文件是否在代理端執行成功,都需要獲取到執行結果返回給中央端。所以這裡也涉及一個讀取節點上的stdout和stderr的問題。這個總體來說不是很難,都有現成的包。當然這個時候你需要的是阻塞執行,而不能搞異步回調。
還有個問題是,我要儘可能使用python默認就帶的包,而盡量不讓服務器去訪問internet下載第三方的包。
還有代理端最重要的一點,就是python的版本兼容性。centos5用python 2.4,centos6用python 2.6,ubuntu基本默認都是2.7。所以一定要最大限度的保證語言的跨版本兼容性,要是每個操作系統和每一個版本我都寫一個代理,我一個人就累死了。
在一台服務器上同時運行ASP、JAVA、PHP、HTML幾種網站程序是否支持?
如果想要都支持,並且使用相同端口,也就是說,一個網站中可以運行多種格式的web程序。
那就用IIS搭建全能服務器。
只有IIS能對這麼多語言同時支持比較好。其它像apache/tomcat之類的對微軟的ASP和.net支持不好。
安裝IIS+php+Resin
就實現了。
如果有多台服務器做集群,就更好了。可以分別安裝一個ASP服務器,一個PHP服務器,一個JAVA服務器。然後用一個前端服務器來監聽80端口,根據瀏覽器請求的網頁類型,轉發到不同的服務器去解析。雖然在一台服務器上用不同端口也可以實現該功能,但不推薦。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/258363.html