编译环境:
Additional Development
Development tools
所使用到的软件安装包下载地址:
apr-1.4.6.tar.gz -C /usr/local/src http://pan.baidu.com/s/1sjPM1lV
apr-util-1.5.1.tar.gz -C /usr/local/src http://pan.baidu.com/s/1i3ys009
httpd-2.4.4.tar.bz2 http://pan.baidu.com/s/1i36zUfj
jdk-7u45-linux-i586.rpm http://pan.baidu.com/s/1i3yYxxF
apache-tomcat-7.0.42.tar.gz http://pan.baidu.com/s/1qWz0fMW
JavaCenter_Home_GBK.zip http://pan.baidu.com/s/1bnelUoB
一.安装httpd:
[root@localhost ~]# tar -axvf apr-1.4.6.tar.gz -C /usr/local/src //解压 [root@localhost ~]# tar -axvf apr-util-1.5.1.tar.gz -C /usr/local/src //解压 [root@localhost ~]# tar -axvf httpd-2.4.4.tar.bz2 -C /usr/local/src //解压 [root@localhost ~]# cd /usr/local/src/apr-1.4.6/ //进入/usr/local/src/apr-1.4.6/
先来安装apr,其目录下也有README,不会安装的可以看一下,根据里边的指示进行安装:
[root@localhost apr-1.4.6]# vim README [root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr //指定安装目录为/usr/local/apr [root@localhost apr-1.4.6]# make && make install
接下来安装apr-util:
[root@localhost apr-1.4.6]# cd ../apr-util-1.5.1/ [root@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config //指明安装路径以及apr-config的完全路径。 [root@localhost apr-util-1.5.1]# make && make install
接下来安装httpd:
[root@localhost httpd-2.4.4]# ./configure \ --prefix=/usr/local/apache \ --sysconfdir=/etc/httpd \ //配置文件目录 --enable-so \ //启用动态模块加载 --enable-rewrite \ //允许URL重写 --with-apr=/usr/local/apr/bin/apr-1-config \ //指定apr安装路径 --with-apr-util=/usr/local/apr-util/bin/apu-1-config \ //指定apr-util安装路径 --with-prce \ //支持perl的正则表达式 -with-z //支持压缩
安装过程中发现一个错误:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
少了一个pcre库文件:
此时查看我的系统中已经安装的与pcre相关的包,发现只有一个pcre-7.8-6.el6.x86_64,所以我需要再安装一个pcre-devel
[root@localhost httpd-2.4.4]# rpm -qa |grep pcre
pcre-7.8-6.el6.x86_64
[root@localhost httpd-2.4.4]# yum --disablerepo=* --enablerepo=c6-media install pcre-devel //安装pcre-devel
完成后重新执行刚才的命令
[root@localhost httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-prce -with-z //再次执行 [root@localhost httpd-2.4.4]# make && make install [root@localhost httpd-2.4.4]# cd /usr/local/apache/ //执行完毕后来到apache目录: [root@localhost apache]# bin/httpd -k start //开启httpd服务
服务开启!
[root@localhost apache]# netstat -tupln |grep httpd //查看httpd端口是否打开
接下来给httpd服务做一个控制脚本:
在/etc/init.d/下创建一个httpd文件,并且给它执行权限:
[root@localhost apache]# cd /etc/init.d/ [root@localhost init.d]# touch httpd //创建一个httpd文件 [root@localhost init.d]# chmod a+x httpd //给予可执行权限 [root@localhost init.d]# vim httpd //编辑文件
脚本内容如下:
#!/bin/bash prog=/usr/local/apache/bin/httpd lockfile=/var/lock/subsys/httpd start () { if [ -e $lockfile ];then echo "the httpd is started" else echo "the httpd is starting......" sleep 1 $prog -k start &>/dev/null && echo "[ok]" && touch $lockfile || echo "fail" fi } stop () { if [ ! -e $lockfile ];then echo " the httpd is stoped" else echo "the httpd is stopping......" sleep 1 $prog -k stop &>/dev/null && echo "[ok]" && rm -rf $lockfile || echo "fail" fi } status () { if [ -e $lockfile ];then echo " the httpd is started" else echo " the httpd is stoped" fi } case "$1" in start) start ;; stop) stop ;; status) status ;; restart) stop start ;; *) echo "USAGE:start|stop|status|restart" esac
[root@localhost ~]# vim /etc/profil PATH=$PATH:$JAVA_HOME/bin:/usr/local/apache/bin //将apache的bin目录写入环境变量文件
二、安装jdk,java的运行环境
[root@localhost tomcat]# rpm -ivh jdk-7u45-linux-i586.rpm JAVA_HOME=/usr/java/jdk1.7.0_45 // 54行 将java的根目录放入系统环境变量中 PATH=$PATH:$JAVA_HOME/bin // 55行 将jdk产生的bin文件加入系统搜索路径中 [root@localhost ~]# . /etc/profile //重新加载环境变量文件
三、安装tomcat
[root@localhost tomcat]# tar -zxvf apache-tomcat-7.0.42.tar.gz -C /usr/local/ //解压安装包 [root@localhost tomcat]# cd /usr/local/ [root@localhost local]# ln -s apache-tomcat-7.0.42 tomcat // 给这个目录做一个连接 [root@localhost local]# cd tomcat/ // 进入解压后的目录,在bin\目录下有一个catalina.sh文件,这是tomcat的引擎文件 [root@localhost bin]# ./catalina.sh start //启动tomcat [root@localhost bin]# netstat -tupln |grep 80 //查看端口8080和8009是否开启
在客户端机器上访问http://192.168.80.11:8080,结果如下:
四、测试,做一个测试页面:
[root@localhost webapps]# mkdir -pv test/{lib,classses,WEN-INF} //在webapps目录下建立一个test目录,并在其中创建三个子目录 [root@localhost test]# vim index.jsp //并在test目录下创建index.jsp测试页,代码如下: <%@page language="java" %> <html> <head> <title>TomcatA</title> </head> <body> <h2><font color="red"> TomcatA in www.tyedus.com</font></h2> <% out.println("hello,word"); %> </body> </html> [root@localhost tomcat]# bin/catalina.sh stop [root@localhost tomcat]# bin/catalina.sh start // 重启tomcat
然后访问http://192.168.80.11:8080/test,结果如下:
把test目录放在任意一个目录下:
[root@localhost ~]# mkdir -pv /www/webapps //在根目录下创建一个www目录并在此目录下创建一个webapps目录 [root@localhost ~]# mv /usr/local/tomcat/webapps/test/ /www/webapps/ //把test目录移动到刚建立好的目录中 [root@localhost tomcat]# vim conf/server.xml //编辑tomcat目录下conf目录下有一个server.xml文件 <Context path="/test" docBase="/www/webapps/test" reloadable="auto"/> //125行指明test的目录,并实现自动重新加载,当访问系统默认主机localhost主机下的test目录时,实际上访问的是/www/webapps/test
然后再次访问http://192.168.80.11:8080/test,结果如下:
测试成功!
五、安装javacenter:
首先要安装mysql
[root@localhost ~]# yum --disablerepo=* --enablerepo=c6-media install mysql //使用yum安装mysql [root@localhost ~]# mysqladmin -u root -p password '123' //为mysql创建一个系统账户root密码为123 [root@localhost ~]# service mysqld start //启动mysql服务 [root@localhost ~]# mysql -u root -p //以管理员身份登陆 mysql> create database jcenter; //创建一个名为jcenter的数据库 [root@localhost tomcat]# unzip JavaCenter_Home_GBK.zip //解压安装包 [root@localhost tomcat]# cd JavaCenter_Home_2.0_GBK/ //解压完成后进入解压好的目录 [root@localhost JavaCenter_Home_2.0_GBK]# mv upload /usr/local/tomcat/webapps/jcenter // 把该目录下的upload目录放入tomcat的站点主目录下并命名为jcenter
然后访问http://192.168.80.11:8080/jcenter/install/开始安装javacenter:
填入相关的数据库数据:
创建一个管理员账户:
创建完成:
可以进入管理后台:
也可以进入空间主页:
当直接访问http://192.168.80.11:8080时,可以看到如下界面,
在它的页面上有一些管理选项:
当点击server status时会提示输入账号:
因为我并没有建立账号所以点击取消,然后出现如下界面提示:
根据上边的提示来建立账号:
[root@localhost tomcat]# vim conf/tomcat-users.xml //根据提示来编辑conf/目录下tomcat-users.xml文件 <role rolename="manager_gui"/> //29行 创建一个组manager-gui <user username="tomcat" password="tomcat" roles="manager-gui"/ //30行,创建一个账户tomcat,密码为tomcat,并加入刚创建的组
然后重启tomcat
然后重新访问,输入账号和密码,进入服务状态界面:
点击Manager App,可以使用刚才创建的账户进入;
点击host manager,也需要创建账号,过程和上边那个类似。
六、apache和tomcat的连接器:
在这里把tomcat看成服务器,把apache看成客户端,其中服务器端的连接器有
http 8080端口 以超文本方式传输 效率比较高
ajp 8009端口 以二进制传输还有一个8005端口为 管理端口
客户端需要用模块来连接服务器:
mod_jk 这是apache默认不自带的,需要自己下载
mod_proxy 这是apache自带的模块,它有几个比较重要的子模块
mod_proxy_httpd 连接8080端口 实现连接http客户端的模块
mod_proxy_ajp 8009 连接tomcat的模块
mod_proxy_blancer 当有多个tomcat服务器时实现负载均衡的模块
下边来通过http连接器和ajp连接器来连接apache和tomcat:
使用http连接器来实现使用虚拟主机www.tyedus.com访问站点:
[root@localhost ~]# vim /etc/httpd/httpd.conf //编辑apache的主配置文件: Include /etc/httpd/extra/httpd-vhosts.conf //460行 启用此行,把前边的# 去掉 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_express_module modules/mod_proxy_express.so //113-121行 全部去掉#
[root@localhost ~]# vim /etc/httpd/extra/httpd-vhosts.conf //编辑httpd-vhosts的配置文件 <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com ServerName www.tyedus.com proxyRequests off //关闭正想代理 【启用反响,一定要关闭正想】 ProxyPreserveHost on ProxyPass / http://127.0.0.1:8080/ ProxyPassreverse / http://127.0.0.1:8080/ </VirtualHost> //给此文件原有的内容全部注释掉,然后加上以上内容
[root@localhost ~]# service httpd start //启动apache服务
在tomcat上创建虚拟主机:
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml
添加以下内容
<Host name="www.tyedus.com" appBase="/usr/local/tomcat/webapps/jcenter" unpackWARs="true" autoDeploy="true"> <Context path="/" docBase="/usr/local/tomcat/webapps/jcenter" reloadable="auto"/> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.tyedus.com_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> </Host>
然后重启tomcat。
在客户机C:\Windows\System32\drivers\etc目录下的hosts文件中做一个dns指向,添加一句即可
192.168.80.11 www.tyedus.com
此时在客户机上访问www.tyedus.com时会出现如下界面:
而直接访问http://192.168.80.11时会出现如下界面:
使用ajp连接器:
[root@localhost ~]# vim /etc/httpd/extra/httpd-vhosts.conf //编辑httpd-vhosts的配置文件,将刚才编辑过的部分重新编辑如下 <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com # DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com" ServerName www.tyedus.com proxyRequests off ProxyPreserveHost on ProxyPass / ajp://127.0.0.1:8009/ ProxyPassreverse / ajp://127.0.0.1:8009/ </VirtualHost> 完成之后测试成功!