Apache是普通伺服器,本身只支援html即普通網頁,可以通過外掛程式支援PHP,還可以與Tomcat連通(單向Apache串連Tomcat,就是說通過Apache可以訪問Tomcat資源。Tomcat無法取訪問Appache資源)。Appache只支援靜態網頁,但像asp,php,cgi,jsp等動態就需要Tomcat來處理。對於Apache Tomcat 估計很多童鞋都會,那麼今天就簡單說下在mac上進行tomcat的安裝;
昨天下載了一下Tomcat本以為很快完成,不過還是遇到了一些坑,簡單的介紹下安裝過程:
1.下載Tomcat
mac下載zip和tar.gz都行,我下載的是tar.gz
2.壓縮之後直接拷貝到資產庫中,壓縮後的檔案夾名稱為Tomcat8,具體位置如下:
3.開啟終端,輸入以下命令Library/Tomcat8/bin/startup.sh,瀏覽器中輸入localhost:8080,就可以看到一下效果:
如果遇到提示No such file or directory錯誤提示,需要執行sudo chmod 755 Library/Tomcat/bin/*.sh,然後重新執行startup.sh,如果想停止Tomcat,直接執行shutdown.sh即可。在執行sudo時,必須使用帶密碼的使用者。如果每次寫路徑比較麻煩,這個時候需要設定環境變數。
4.設定Tomcat的環境變數:
①輸入touch .bash_profile ( pico .bash_profile 也行)
②開啟bash_profile open -e .bash_profile(nano .bash_profile亦可)
③輸入export PATH=$PATH:/Users/keso/Library/Tomcat8/bin
④更新配置的環境變數source .bash_profile
⑤驗證是否成功,終端中輸入$PATH
顯示如下-bash: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/keso/Library/Tomcat8/bin: No such file or directory
5.終端中輸入startup.sh, startup.sh後出現類似 “Permission denied” ,這個時候需要對目錄進行使用權限設定:輸入 sudo chmod 755 Library/Tomcat8/bin/*.sh 斷行符號,設定檔案的讀寫執行許可權;
6.設定完成之後startup.sh會顯示啟動:
7.關閉需要使用shutdown.sh即可;
題外話:sudo通常為系統超級管理員755 代表使用者對該檔案擁有讀,寫,執行的許可權,同組其他人員擁有執行和讀的許可權,沒有寫的許可權,其他使用者的許可權和同組人員許可權一樣。777代表,user,group ,others ,都有讀寫和可執行許可權。
管理Mac OS內建的Apache
Mac OS X 內建了Apache 和 PHP
管理方法一:
開啟“系統設定偏好(System Preferences)” -> “共用(Sharing)” -> “Web共用(Web Sharing)”
管理方法二:
啟動Apache:運行“sudo apachectl start”,再輸入root帳號密碼
停止Apache:運行“sudo apachectl stop”,
查看Apache:版本:運行“sudo apachectl -v”,
重啟Apache:運行“sudo apachectl restart”
Mac OS中Apache檔案預設存放位置
Mac OS 的Apache2的設定檔(httpd.config)儲存在/etc/apache2
Mac OS 的Apache2的程式檔案(httpd, ab) 儲存在/usr/sbin/
Mac OS 的Apache2的預設根目錄:/Library/WebServer/Documents
修改Apache2的設定檔,在終端運行“sudo vi /etc/apache2/httpd.conf”,開啟Apche的設定檔進行修改。
Mac OS中修改hosts配置
運行“sudo vi /etc/hosts”,開啟hosts設定檔,可本機DNS解悉。
Mac OS內建的Apache的ab壓力測試工具說明
MAC OS內建了一個apache2.2.22,配套的ab測試載入器不好使,無法使用。
所以2012年3月25日,在/usr/local/apache中安裝了新的apache 2.4.1。
並把/usr/local/apache/bin/ab拷貝到了/usr/sbin/ab中,覆蓋了原有的AB。
ab的版本都是2.3,小號不同。現在ab測試載入器好使了。
Mac OS運行PHP
在終端中運行“sudo vi /etc/apache2/httpd.conf”,開啟Apache的設定檔。
找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#號去掉,儲存並退出vi(在命令列輸入:wq)。
運行“sudo cp /etc/php.ini.default /etc/php.ini”,這樣就可以運行sudo vi /etc/php.ini來編輯php.ini配置各種功能了。比如:
Java代碼
;通過下面兩項來調整PHP提交檔案的最大值,如phpMyAdmin中匯入資料的最大值
upload_max_filesize = 2M
post_max_size = 8M
;通過display_errors來控制是否顯示PHP程式的報錯資訊,這在調試PHP程式時非常有用
display_errors = Off
運行“sudo apachectl restart”,重啟Apache,這樣PHP就可以用了。
運行“sudo cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php”,即在Apache的根目錄下複製index.html.en檔案並重新命名為info.php。
在終端中運行“sudo vi /Library/WebServer/Document/info.php”,這樣就可以在vi中編輯info.php檔案了。
在“It’s works!”後面加上“”,然後儲存之。如此就可以在http://localhost/info.php中看到有關PHP的資訊,比如10.8中內建PHP版本號碼是5.3.13。
Mac OS終端配色
修改~/.bash_profile檔案,在檔案中加入下面幾行配置。
# for color
export CLICOLOR=1
# h:W u$
export PS1='[33[01;33m]u@h[33[01;31m] W$[33[00m] '
# grep
alias grep='grep --color=always'
Mac OS安裝Nginx
安裝nginx時依賴的PCRE、zlib庫,我系統裡已內建這些。
但使用系統內建的pcre時,make Nginx報錯:
-lpcre -lcrypto -lcrypto -lz
Undefined symbols for architecture x86_64:
"_pcre_free_study", referenced from:
_ngx_pcre_free_studies in ngx_regex.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [objs/nginx] Error 1
make: *** [build] Error 2
我本機使用的是brew包管理器(不喜歡ports)
使用brew包管理工具重新安裝pcre(brew install pcre),問題沒有解決。
又把pcre卸載了。
手動安裝pcre,也不行。
只能按照料官方說的,安裝mac ports,然後利用port安裝pcre。
sudo port install pcre