最近要做个网站,想用JAVA写,之前网站都是PHP做的,所以自己的服务器上已经搭建了了lamp,而Apache占用了80端口,要用JAVA的话,我就要搭建一个tomcat,虽然tomcat默认是8080端口,但是正式上线的网站不可能使用8080的,但是如果要80端口又会冲突,所幸可以整合在一起,而且不麻烦。
以下我默认认为你已经安装好了Java jdk 不会的请走传送门:安装java jdk
安装Apache
这一步很简单,如果没有Apache的话,直接装tomcat好了。没端口冲突。
sudo apt-get install apache2
安装完之后,去配置下apache2的各种配置,不懂的话,就默认吧。
验证方法:
127.0.0.1
网址看能不能打开页面It Works!
的。
安装Tomcat
去官网找下载链接,然后在Ubuntu上用wget直接下载下来就好了。
http://tomcat.apache.org/download-80.cgi
传送门~~ 找自己喜欢的版本,注意自己的JAVA jdk版本,如果太低tomcat也要用低版本,反正尽量用1.6 - 1.8左右的jdk吧 如果1.7以上就用tomcat 7就行了。
下载下来之后,解压到任意你喜欢的文件夹,我是放到:
~/install/tomcat
下面了,大家看自己喜欢喽。
然后配置环境变量:
TOMCAT_HOME = /home/alps/install/tomcat
请根据自己的路径填写TOMCAT_HOME路径,尽量不要使用~这种符号代替,可以使用${HOME}这种环境变量代替小波浪。
然后打开tomcat试试:
cd ~/install/tomcat/bin
./startup.sh
然后地址栏输入:
localhost:8080
//或者有域名可以输入域名
www.your_domain.com
如果打开说明安装正常了。
安装mod-jk13
这个模块就是为了能够让apache和tomcat来交互的一个模块,安装方式很简单:
sudo apt-get install libapache2-mod-jk
安装好了之后在/etc/apache2/mods-enabled
下会多出一个jk.load
文件,重启apache2
后,apache
自动
装载这个文件以加载mod_jk
.
sudo apachectl restart
//或者
sudo service apache restart
修改配置文件
jk.conf
需要修改配置文件jk.conf
/etc/apache2/mods-available/jk.conf
使用你想用的编辑工具( 还是vim把)
//指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile /etc/apache2/workers.properties//Where to put jk logs
JkLogFile /var/log/mod_jk.log//将所有请求都让tomcat来处理
JkMount /* worker1
这个请慎重选择,一般不要填写这个,后面会在apache的配置文件来配规则的
修改完jk.conf
之后,需要修改workers.properties
workers.properties
这个文件在上一步指定了路径了,找到文件,然后打开。
cd /etc/apache2/
//然后
vim workers.properties
需要配置的是:
workers.tomcat_home=这里填写你tomcat_home的路径
workers.java_home=/usr/lib/jvm/jdk...//填写你的Java jdk home路径
workers.list=ajp13_worker,jk-status,jk-manager //这里加上jk-status,jk-manager这两个记住前面这个ajp13_worker名字
然后保存关闭
:wq
配置apache域名拦截规则
首先我们要修改文件:/etc/apache2/site-available/000-default.conf
文件。
如果你设置过二级域名,那这里会有很多类似:
<VirtualHost *.80>
ServerAdmin alps@gmail.com
ServerName test.domain.com
DocumentRoot "/var/www/test"
<Directory "/var/www/test">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这种是apache用来配置二级域名的规则,如果你配置过二级域名,那么就在你要拦截的域名配置规则里,</VirtualHost>
结束标签之前来添加如下内容:
JkUnMount /*.html ajp13_worker
JkMount /*.jsp ajp13_worker
//上面的JkUnMount是告诉apache什么样的规则不需要使用tomcat来解析
//因为apache在静态资源的解析上比tomcat要快,所以这里对于html jpg js这种资源统一使用apache
//对于.jsp文件就使用tomcat来进行工作
配置tomcat二级域名
因为我们的网站在不同的文件夹下,不可能只有一个文件夹,所以我们同时要在tomcat下配置一个二级域名来让tomcat知道我们应该去哪里找jsp文件。
因为默认tomcat会去自己的TOMCAT_HOME下找到webapp/ROOT下的jsp文件,所以我们配置一下$TOMCAT_HOME/conf/server.xml
文件。
在文件server.xml
里最下面</Engine>
前面添加:
<Host name="test.domain.com" appBase="/var/www/test" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
</Host>
这里把test.domain.com换成你想要的二级域名,然后appBase的路径也一样就可以了。
以上