Linux下整合Apache+Tomcat+MySQL+PHP
環境與資源下載
作業系統:Linux fedora4 下載地址:
JDK: jdk-1_5_0_14-linux-i586.rpm 下載地址:
Tomcat: apache-tomcat-5.5.25.tar.gz 下載地址:
Apache:httpd2.2.6.tar.gz 下載地址:
MySQL:MySQL-server-community-5.0.45-0.rhel4.i386.rpm/MySQL-client-community-5.0.45-0.rhel4.i386.rpm 下載地址:http://dev.mysql.com/downloads/mysql/5.0.html#linux-rhel4-x86-32bit-rpms
PHP:php5.2.5.tar.gz 下載地址:
MySQL驅動:mysql-connector-java-5.0.8.tar.gz 下載地址:http://dev.mysql.com/downloads/connector/j/5.0.html
Linux下安裝JDK
(1)把jdk-1_5_0_14-linux-i586.rpm移至/usr/local/java下,然後執行如下命令:
#rpm -ivh jdk-1_5_0_14-linux-i586.rpm
選擇“yes”,直到安裝完畢;
(2)完成後jdk安裝在/usr/local/java/下,開啟/etc/profile檔案,在最後增加如下內容:
JAVA_HOME=/usr/local/java
export JAVA_HOME
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export CLASSPATH
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH
儲存,OK,成功,可以開始linux下的java程式開發了。
Linux下安裝Tomcat
1. 將apache-tomcat-5.5.25.tar.gz檔案移動至/usr/local/tomcat/
2. 解壓apache-tomcat-5.5.25.tar.gz檔案
在命令列中輸入:
gunzip apache-tomcat-5.5.25.tar.gz
tar xvf apache-tomcat-5.5.25.tar.gz
3. 進入apache-tomcat-5.5.25/bin資料夾執行./catalina.sh run啟動tomcat
4. 在瀏覽器中輸入即可看到tomcat的歡迎畫面了!
Linux下安裝Apache
1. 把tar zxvf httpd-2.2.6.tar.gz移至/opt資料夾下
2. # tar zxvf httpd-2.2.6.tar.gz
3. 配置命令:
#./configure –prefix=/usr/local/apache2.2.6 --with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-so --enable-track-vars --enable-cgi --enable-mods-shared=most
【–enable-so與--enable-mods-shared=most 選項的作用是編譯出大部分可用的so檔案 ,so檔案為linux上的動態共享庫】
4. #make && make install
【啟動 並測試 /usr/local/apache2.2.6/bin/apachectl –k start , 將服務納入自啟動
5. # cp apached /etc/init.d/apachd
#chkconfig --add apached
6. 看到"It works"證明安裝成功了
安裝tomcat connector整合Apache2和Tomcat
Tomcat 本身已經提供了 HTTP 服務,該服務預設的埠是 8080,裝好 tomcat 後透過 8080 埠可以直接使用 Tomcat 所執行的應用程式,你也可以將該埠改為 80。
既然 Tomcat 本身已經可以提供這樣的服務,我們為什麼還要引入 Apache 或者其他的一些專門的 HTTP 伺服器呢?原因有下面幾個:
1. 提升對靜態檔案的處理效能
2. 利用 Web 伺服器來做負載均衡以及容錯
3. 無縫的升級應用程式
這三點對一個 web 網站來說是非常之重要的,我們希望我們的網站不僅是速度快,而且要穩定,不能因為某個 Tomcat 當機或者是升級程式導致使用者訪問不了,而能完成這幾個功能的、最好的 HTTP 伺服器也就只有 apache 的 http server 了,它跟 tomcat 的結合是最緊密和可靠的.
JK
這是最常見的方式,你可以在網上找到很多關於配置JK的網頁,當然最全的還是其官方所提供的文件。JK 本身有兩個版本分別是 1 和 2,目前 1 最新的版本是 1.2.26,而版本 2 早已經廢棄了,以後不再有新版本的推出了,所以建議你採用版本 1
編譯安裝:
# tar zxvf tomcat-connectors-1.2.26-src.tar.gz
# cd tomcat-connectors-1.2.26-src.tar.gz/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/
說明:JK的原始檔在目錄 tomcat-connectors-1.2.26-src.tar.gz/jk/native 下 ;
./configure-apxs 選項的作用是 用/usr/apache2/bin/的apxs【apache extension】工具 生成mod_jk.so的共享庫,必須配置;
cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/ 將生成的so檔案 考到 Apache2 的modules下面, jk 將作為apache的mod 的一部分
配置apache2
在/usr/local/apache2/conf/下面建立兩個配置檔案mod_jk.conf和workers.properties
# vi mod_jk.conf
新增以下內容:
# 指出mod_jk模組工作所需要的工作檔案workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# 將所有servlet 和jsp請求透過ajp13的協議送給Tomcat,讓Tomcat來處理
JkMount /servlet/* worker1
JkMount /*.jsp worker1
# vi workers.properties
新增以下內容:
# Defining a worker named worker1 and of type ajp13
worker.list=worker1
# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
配置httpd.conf,作以下修改:
在DirectoryIndex中新增 index.jsp
我的網頁放在/var/wwwroot下,所以要修改DocumentRoot
DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
Options Includes FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">
Order deny,allow
Deny from all
</Directory>
增加關於載入mod_jk的語句:
LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
最後編輯Tomcat的配置檔案server.xml,在HOST段中加入:
<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
在/var/wwwroot下建立一個index.jsp,啟動Apache和Tomcat,用瀏覽器訪問,應該可以看到正確的頁面了。
Linux下安裝MySQL
首先,預設Linux作業系統都會安裝MySQL,rpm -qa | grep "*mysql*"可以檢查mysql是否已經安裝,如果安裝過mysql,需要先解除安裝,用rpm -e MySQL-server可解除安裝MySQL-server,同樣還要解除安裝MySQL-client,如果出現依賴包錯誤,可以使用--nodeps引數來解除安裝。
解除安裝結束後安裝mysql-server和mysql-client的rpm包
開始安裝:
1)安裝伺服器端
在有兩個rmp檔案的目錄下執行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-community-5.0.45-0.rhel4.i386.rpm
顯示如下資訊。
Preparing... ########################################### [100%]
1:MySQL-server ########################################### [100%]
。。。。。。(省略顯示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略顯示)
Starting mysqld daemon with databases from /var/lib/mysql
如出現如上資訊,服務端安裝完畢。測試是否成功可執行netstat看Mysql埠是否開啟,如開啟表示服務已經啟動,安裝成功。Mysql預設的埠是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
上面顯示可以看出MySQL服務已經啟動。
2)安裝客戶端
執行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-community-5.0.45-0.rhel4.i386.rpm
Preparing... ########################################### [100%]
1:MySQL-client ########################################### [100%]
顯示安裝完畢。
用下面的命令連線mysql,測試是否成功。
登入MySQL
登入MySQL的命令是mysql, mysql 的使用語法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 與 password 分別是 MySQL 的使用者名稱與密碼,mysql的初始管理帳號是root,沒有密碼,注意:這個root使用者不是Linux的系統使用者。MySQL預設使用者是root,由於初始沒有密碼,第一次進時只需鍵入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
出現了“mysql>”提示符,恭喜你,安裝成功!
如果網上找不到rpm包,可以找來最新的redhat程式光碟,裡面找一下,一般都有最新的mysql版本的rpm包,當然使用者也可以下載tar.gz進行編譯安裝,要注意的是編譯tar.gz時,預設不會安裝GBK字符集,所以在編譯過程中一定要注意
# groupadd mysql
# useradd -g mysql -d /usr/local/mysql/data -M mysql
# tar -zxvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
./configure --prefix=/usr/local/mysql / 指定安裝目錄
> --sysconfdir=/etc / 配置檔案的路徑
> --localstatedir=/usr/local/mysql/data / 資料庫存放的路徑
> --enable-assembler / 使用一些字元函式的彙編版本
> --with-mysqld-ldflags=-all-static / 以純靜態方式編譯服務端
> --with-charset=GBK / 新增GBK字元支援
> --with-extra-charsets=GBK /新增GBK字符集
> --with-extra-charsets=all /新增所有字元支援
# make
# make install
# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql:mysql /usr/local/mysql/data
# cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
# chkconfig --add mysql
# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
上面是詳細的安裝過程,如果需要,可以再到網上搜尋一下相關的安裝教程。
mysql5安裝好後,需要進入mysql控制檯,使用命令:SHOW CHARACTER SET;檢視當前安裝的所有字符集,仔細看一下有沒有GBK,如果沒有,那麼只有重新安裝,編譯tar.gz時一定要加上上面的編譯引數,直到這個命令顯示出,安裝了GBK字符集。再用命令:SHOW VARIABLES LIKE 'character_set_%';
如果character_set_database和character_set_server不是gbk,那麼需要修改my.cnf,有些rpm安裝後沒有my.cnf,就vi /etc/my.cnf新建一個,修改下面的選項:
[mysqld]
default-character-set=gbk
儲存重啟,再用命令檢查字符集是否正確。
下面再講一個錯誤的修復。
我們發現,在RedHat Linux平臺上,設定localhost上可以訪問mysql的使用者在JDBC中
不能正確連線資料庫,表現為Access denied...
這是RedHat Linux的一個問題,可以參考下面的解決步驟:
1.su為root,vi /etc/hosts
2.刪掉localhost後面多餘的東西
3./etc/hosts看上去應該像下面這樣
127.0.0.1 localhost
儲存修改,重新啟動資料庫。
MySQL的配置檔案一般是/etc/my.cnf,可以適當修改。
下安裝mysql驅動
安裝步驟:
1. 進入資源包縮在目錄,解壓。
2. # tar –zxvf mysql-connector-java-5.0.8.tar.gz
3. # cp ./ mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/apache-tomcat-5.5.25/common/lib/
注:最好也複製一份到自己的jsp檔案目錄中WEB-INF/lib下
4. 修改/etc/profile檔案
在CLASSPATH中追加:/usr/local/tomcat/apache-tomcat-5.5.25/common/lib/mysql-connector-java-5.0.8-bin.jar:.(把驅動檔案的路徑追加到CLASSPATH)
5. 寫測試檔案(注意修改自己的使用者名稱和密碼)
<%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <body> <%Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql://localhost/mysql?user=root&password=root&useUnicode=true&characterEncoding=UTF-8"; Connection conn= DriverManager.getConnection(url); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="show tables"; ResultSet rs=stmt.executeQuery(sql);%> <%while(rs.next()) {%> <%=rs.getString(1)%> <br> <%}%> <%rs.close(); stmt.close(); conn.close(); %> </body> </html> |
Linux下安裝PHP5
下載php的for Linux 的原始碼包存至/opt/php目錄
命令列表:
cd /opt/php
tar -zxvf php-5.0.45.tar.gz
mv php-5.0.45 php
cd php
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql
make
make install
其中apache和mysql是根據你安裝的目錄名變,我的是 =/usr/local/apache2/bin/apxs 和MySQL
cp php.ini-dist /usr/local/lib/php.ini
以dso方式安裝php至/usr/local/php 設定配置檔案目錄為/usr/local/lib 開啟mysql,xml支援
3.配置
vi /usr/local/apache/conf/httpd.conf
對apache做如下配置
#將ServerAdmin 一行改為您的郵箱地址
#DocumentRoot "/home/httpd/html/" 此處為html檔案主目錄
# 同上
#Options FollowSymLinks MultiViews 為安全起見,去掉"Indexes"
#
# DirectoryIndex default.php default.phtml default.php3 default.html default.htm
#
#設定apache的預設檔名次序
#AddType application/x-httpd-php .php .phtml .php3 .inc
#AddType application/x-httpd-php-source .phps
#設定php檔案字尾
存檔退出
vi /usr/local/lib/php.ini
#register-golbals = On
include_path = ".:/php/includes" //開啟
extension=msql.so//開啟
存檔退出
4.啟動服務
/usr/local/apache/bin/apachectl start
5.測試
然後寫個php測試頁info.php:內容如下
〈?php
phpinfo();
?>
正常的話,應該能看到php的資訊了,恭喜你的Apche+Mysql+PHP安裝成功。
6、apache自動啟動- -
下面用自啟動apache為例;
自啟動指令碼:
/usr/local/apache/bin/apachectl start
檔案位於/etc/rc.d/init.d下,名為apached,注意要可執行.
#chmod +x /etc/rc.d/init.d/apached //設定檔案的屬性為可執行
#ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立軟連線,快捷方式
#ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache
至此,你的系統就可以同時跑jsp和php了!配置的過程中也許會出現如下問題,後面慢慢總結!!!:)祝大家一起好運吧
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2018462/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下搭建Jenkins持續整合LinuxJenkins
- (整合)Linux下的多程式程式設計Linux程式設計
- Linux下配置Jenkins+gitlab持續整合構建流程LinuxJenkinsGitlab
- linux環境下搭建Jenkins持續整合(Jenkins+git+shell+maven+tomact)LinuxJenkinsGitMavenMac
- 詳解Linux下Nginx+Tomcat整合的安裝與配置的步驟LinuxNginxTomcat
- systemd - yocto linux如何整合&配置systemdLinux
- Linux 核心的持續整合測試Linux
- 如何將Java 整合在 Fedora Linux 中?JavaLinux
- 整理下electronJs整合ffi踩得坑JS
- 如何在TVM上整合Codegen(下)
- linux下配置javaLinuxJava
- linux下source命令Linux
- Linux下的程式Linux
- Linux下Ollama命令Linux
- LINUX下SYN FLOOD攻擊及LINUX下SYN攻防簡述Linux
- 初探Nacos(三)-- SpringBoot下整合Dubbo和NacosSpring Boot
- WAMPSERVER整合環境下載與安裝Server
- 微服務架構下的系統整合微服務架構
- Linux下安裝pymysqlLinuxMySql
- Linux下安裝jiebaLinuxJieba
- Linux下安裝GensimLinux
- Linux下SuperLU安裝Linux
- Linux下C++ daemonLinuxC++
- Linux下安裝GitLinuxGit
- linux下安裝pythonLinuxPython
- Linux下的Mysql操作LinuxMySql
- Linux 下安裝 ComposerLinux
- Linux RPM 下載地址Linux
- Linux下expect安裝Linux
- Linux下iptables安全配置Linux
- Linux下autoconf與automakeLinux
- linux下tomcat安全配置LinuxTomcat
- 在 Linux 下配置 RAIDLinuxAI
- Linux下安裝RedisLinuxRedis
- InfluxDB Linux 下安裝Linux
- linux下查詢字串Linux字串
- linux下修改mtu值Linux
- mysql linux下安裝MySqlLinux
- linux 下redis關閉LinuxRedis