本文目錄一覽:
- 1、如何在Centos上搭建PHP+JAVA的伺服器
- 2、關於在php環境的伺服器中配置java環境的問題,請教各位大神~~!
- 3、如何搭建一個java和php共用的開發環境?
- 4、北大青鳥java培訓:什麼是PHP編程開發?
- 5、同一伺服器安裝java與PHP 共用80埠 怎麼安裝?java與PHP是兩個單獨的網站,還有我安裝完後java網站程序
- 6、很急的問題:怎麼安裝PHP和Apache(具體哪個版本)和JAVA,然後怎樣配置,我用的是Win7.請高手幫個忙,謝謝.
如何在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。所以一定要最大限度的保證語言的跨版本兼容性。
關於在php環境的伺服器中配置java環境的問題,請教各位大神~~!
你是windows的話 那就找bin下面的那個.bat文件唄
或者 windows安裝tomcat我記得可以註冊成服務 有個exe文件的 那個可以啟停伺服器的 哪裡可以設置classpath 賬戶密碼等
如何搭建一個java和php共用的開發環境?
1、通常Java做後台,php做前台,這兩部分分離。java提供介面供前台調用,例如返回xml或json格式數據,供php去處理;
2、如果要高級一點,php可以內嵌jvm,不過擴展性不是很好,適合小一點的應用。
北大青鳥java培訓:什麼是PHP編程開發?
隨著互聯網的不斷發展,PHP編程開發被眾多培訓機構所推崇,由於難度相較於java編程來說更容易,所以PHP編程開發也是有很大的市場的。
今天,四川IT培訓就一起來聊聊什麼是PHP編程開發。
PHP變數[success]PHP是一種創建動態交互性站點的強有力的伺服器端腳本語言。
PHP是免費的,並且使用非常廣泛。
同時,對於像微軟ASP這樣的競爭者來說,PHP無疑是另一種高效率的選項。
PHP腳本在伺服器上執行。
PHP吹吹牛什麼是PHP?PHP是”PHPHypertextPreprocessor”的字母縮略詞PHP是一種被廣泛使用的開源腳本語言PHP腳本在伺服器上執行PHP沒有成本,可供免費下載和使用什麼是PHP文件?PHP文件能夠包含文本、HTML、CSS以及PHP代碼PHP代碼在伺服器上執行,而結果以純文本返回瀏覽器PHP文件的後綴是”.php”PHP能夠做什麼?PHP能夠生成動態頁面內容PHP能夠創建、打開、讀取、寫入、刪除以及關閉伺服器上的文件PHP能夠接收表單數據PHP能夠發送並取回cookiesPHP能夠添加、刪除、修改資料庫中的數據PHP能夠限制用戶訪問網站中的某些頁面PHP能夠對數據進行加密通過PHP,您可以不受限於只輸出HTML。
您還能夠輸出圖像、PDF文件、甚至Flash影片。
您也可以輸出任何文本。
PHP運行環境安裝PHP腳本需要PHP解析器來才能運行,所以需要在伺服器安裝PHP.Linux下安裝PHP環境Linux+Apache+MySQL+PHP(LAMP)Windows下安裝PHP環境Windows+Apache+MySQL+PHP(WAMP)集成環境:Wampserver,phpstudyPHP標記當解析一個文件時,PHP會尋找起始和結束標記,也就是,這告訴PHP開始和停止解析二者之間的代碼。
此種解析方式使得PHP可以被嵌入到各種不同的文檔中去,而任何起始和結束標記之外的部分都會被PHP解析器忽略。
PHP也允許使用短標記,但不鼓勵使用。
只有通過激活php.ini中的short_open_tag配置指令或者在編譯PHP時使用了配置選項–enable-short-tags時才能使用短標記。
如果文件內容是純PHP代碼,好在文件末尾刪除PHP結束標記。
這可以避免在PHP結束標記之後萬一意外加入了空格或者換行符,會導致PHP開始輸出這些空白,而腳本中此時並無輸出的意圖。
注意點,在圖片輸出中可能遇到問題.
同一伺服器安裝java與PHP 共用80埠 怎麼安裝?java與PHP是兩個單獨的網站,還有我安裝完後java網站程序
引用
因為在做垂直搜索工作中,使用的是java編寫的一個搜索類庫。做垂直搜索,很多實用要使用到配置。當搜索的信息量大時,網站的更新。搜索程序的配置維護是一個不可忽視的問題。所以用了php做網頁,提供配置界面,這樣就可以不用直接修改配置文件或是配置資料庫表。當把配置信息配置好了,我們需要檢測配置是否正確,因為使用的是java程序,所以檢測配置的正確與否使用的也是java程序來檢測。這裡就存在一個問題,就是需要把php頁面上的信息傳入到java程序中去檢測。這個時候就需要php和java通信了。下面我就來介紹下怎麼使php跟java通信(當然,你也可以使用類似webservice等技術)也就是php中調用java程序。 php要調用java程序:需要以下準備,php程序,java程序,還有就是shell程序或是bat程序。下面分別介紹下在linux伺服器下php調用java程序和在windows伺服器下調用java程序。前提是php,apache,jdk的環境都已經配置好。
一 在linux下php調用java程序是通過shell文件。分別是以下三個文件: test_shell.php test_shell.java test_shell.sh 他們的源代碼如下:
1.test_shell.java程序代碼
public class test_shell {
public static void main(String[] args) {
System.out.println(“你輸入的參數是:”+args[0]+”t”+args[1]);
}
}
2.test_shell.php程序代碼
?php
/*
* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。
*/
$args1=”我喜歡你”;
$args2=”我很愛你”;
// 注意空格
$r=shell_exec(“./test_shell.sh $args1 $args2”);
echo $r;
?
3.test_shell.sh程序代碼是
#!/bin/sh
JAVA_HOME=/usr/local/jdk
CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH
cd /usr/local/apache/htdocs/test_shell
java test_shell
#shell代碼結束
以下是三個程序的存放路徑和運行次序。
1.三個文件都必須在同一目錄下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很難調到java程序。
2.把test_shell.java程序編譯成test_shell.class,然後把test_shell.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這裡在配置一次是沒有壞處的,也不會影響配置好的系統環境變數。這裡設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到/usr/local/jdk下就以。
二、下面先介紹在windows伺服器下,php調用java程序是通過bat文件來的。分別是以下三個文件: test_bat.php test_bat.java test_bat.sh 他們的源代碼如下:
1.java程序
public class test_bat {
public static void main(String[] args) {
System.out.println(“你輸入的參數是:”+args[0]+”t”+args[1]);
}
}
2.test_bat.php程序代碼
?php
/*
* 該函數是用來執行shell命令的,其實還可以使用:exec(),system(),
* popen()和pclose(),passthru() 函數。最長用的是前面兩個和例中使
* 用的shell_exec()。
*/
$args1=”我喜歡你”;
$args2=”我很愛你”;
// 注意空格
$r=shell_exec(“./test_shell.sh $args1 $args2”);
echo $r;
?
3.test_bat.sh程序代碼是
@echo off
set path=%path%;%cd%jrebin
set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class
java test_bat %1 %2
#bat代碼結束
1.三個文件都必須放在同一目錄下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很難調到java程序。
2.把test_bat.java程序編譯成test_bat.class,然後把test_bat.class文件存放到CLASSPATH中。如果系統配置了那些環境變數,這裡在配置是沒有壞處的,也不會影響配置好的系統環境變數。這裡設置的好處是當沒有配置jdk環境配置,只有jre時,則需把jre放到跟跟test_bat.java同一目錄下就行了。
三、上面兩個例子中,test_shell.sh用的絕對路徑,test_bat.bat是用的相對路徑。不管是絕對還是相對,只要路徑對了就行了。
很急的問題:怎麼安裝PHP和Apache(具體哪個版本)和JAVA,然後怎樣配置,我用的是Win7.請高手幫個忙,謝謝.
裝一個wampserver吧,集成了php和apache,版本還比較高,web開發的話,java裝個1.6的jdk,然後裝個myeclipse,很好用,java只要配置下jdk就可以了,網上一大堆,wampserver配置我給你個地址,;do=blogid=55694,我自己寫的日誌,我現在也剛開始弄php
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258490.html