在Ubuntu16.04_x64(Linux)上安装Apache+Tomcat并配置(超详细) - 2019.02.25

3 篇文章 0 订阅
3 篇文章 0 订阅

一、Apache的安装与配置

1.安装Apache:

sudo apt-get install apache2

2.配置

找到Apache的配置文件,在配置文件末尾添加内容:ServerName 域名或ip:80

我的Ubuntu的Apache的配置文件路径是/etc/apache2/apache2.conf(如果找不到这文件,就使用命令find / -name 'apache2.conf'或者find / -name 'httpd.conf'查找apache2.conf/httpd.conf文件,因为有的教程安装时候的配置文件是httpd.conf)

3.启动Apache服务器

sudo systemctl start apache2

4.检查是否启动Apache服务器成功

在浏览器输入http://ip地址或域名:80
我的出现了这个页面,说明Apache服务器启动成功:

或者有的教程出现的是下面这个界面(下面这张图是百度来的),也是一样的,说明启动成功:

 

 

二、Tomcat安装与配置

参考文章:http://wiki.ubuntu.org.cn/Tomcat

1.下载安装包:https://tomcat.apache.org/

然后使用wget下载此链接的文件

2.解压压缩包(将压缩包解压到任意一个路径,即你想要安装的路径)

我是在/home/下创建了目录my_install,然后将下载的压缩包解压到此处.解压zip包需要安装unzip包,先安装解压命令包.

sudo apt install unzip

然后在下载apache-tomcat-8.5.38.zip的路径下:

unzip apache-tomcat-8.5.38.zip /home/my_install/

解压完成后是下面这样的↓

其中,conf目录中存放的是一些tomcat的配置文件,包括以下文件↓

目录和文件说明(参考文章https://www.cnblogs.com/baiqiantao/p/5384127.html,此文章很详细,推荐阅读):

bin目录:
此目录我们常用到的文件有两种。.sh文件是在linux下使用的,.bat文件是在window下使用的。下面以linux为例
startup.sh - 用来启动tomcat。使用方法:sh startup.sh 即可启动tomcat
shutdown.sh - 用来关闭tomcat。使用方法:sh shutdown.sh 即可关闭tomcat

conf目录:
server.xml - 可以设置端口号、设置域名或IP、默认加载的项目、请求编码
web.xml - 可以设置tomcat支持的文件类型
context.xml - 可以用来配置数据源之类的
tomcat-users.xml - 用来配置管理tomcat的用户与权限
catalina.properties - 配置tomcat的缓存

lib目录:
此目录用来存放tomcat运行需要加载的jar包
例如我们可以将连接数据库的jdbc的jar包放到此目录下

logs目录:
此目录存放着tomcat在运行过程中产生的日志文件,就是使用System.out.print(..)/或者System.err.print(..)等输出的内容都会写入到catalina.out(windows中是catalina.xxxx-xx-xx.log)文件中(删除文件或文件内容不会影响tomcat运行)

temp目录:
此目录存放tomcat在运行过程中产生的临时文件(删除此目录的文件不会影响tomcat运行) 

webapps目录:
此目录用来存放web应用程序,当tomcat启动时会去加载webapps目录下的应用程序,只要将web项目的根文件夹或者war包形式的项目放置再此目录下即可完成部署

work目录:
此目录用来存放tomcat在运行时的编译后文件,例如.jsp编译后的文件。清空work目录可达到清除缓存的作用(需重启Tomcat)

 

3.启动tomcat

将conf/server.xml文件中的<Connector port="8080" protocol="HTTP/1.1"这一行的8080修改为80(因为我的阿里云服务器只开放了80和443端口,没有开8080端口,因此需要修改才可访问)

因为第一步安装Apache服务器的时候我试启动了,此时它还占着80端口,所以需要先关闭一下(输入命令:service apache2 stop),然后进到bin目录中启动tomcat:sh startup.sh

此时报错了(说是没有执行权限)↓

修改一下启动和停止这两个文件的权限:(格式 - sudo chmod 777 文件名)

sudo chmod 777 startup.sh
sudo chmod 777 shutdown.sh

注意:以上文件在执行时候会执行其他文件,
如果只修改上面两个文件还是会出现执行其他文件没有执行文件权限的错误,
因此我索性使用下面这一句修改bin文件夹下所有文件都有可执行权限

sudo chmod 777 * #此行是将此文件夹下的所有文件权限改为可读可写可执行

然后再启动一次(sh startup.sh),如果出现了"Tomcat started"字样,说明Tomcat启动成功了

4.测试tomcat

在浏览器输入你的http://域名(或http://你的ip:80),如果出现以下页面说明tomcat正确的启动成功了

 

server.xmlserver.xmlserver.xmlserver.xml

三、整合Apache和Tomcat

参考文章:https://blog.csdn.net/kesixin/article/details/77779021https://blog.csdn.net/u011726984/article/details/51226662

1.下载Apache Tomcat Connectors(简称JK,整合tomcat和其他web服务器的一个连接器

下载链接http://tomcat.apache.org/download-connectors.cgi
注意:之前在别的网址下了.zip坑死我了,后来转到这网址才看到这里的.zip是给windows用的
复制下载链接,然后使用命令(wget 文件链接)下载后缀为tar.gz到linux上(我下载的文件是:tomcat-connectors-1.2.46-src.tar.gz)
然后使用命令:gunzip tomcat-connectors-1.2.46-src.tar.gz 解压成gunzip tomcat-connectors-1.2.46-src.tar
再使用命令:tar -xf tomcat-connectors-1.2.46-src.tar 解压tar包

 

2.安装apxs(sudo apt install apache2-dev)

查看apxs的安装路径:whereis apxs(我安装好后查出来的路径是:apxs: /usr/bin/apxs /usr/share/man/man1/apxs.1.gz)

 

3.编译生成mod_jk.so文件

cd进到tomcat-connectors-1.2.46-src.zip解压缩的文件夹中的native目录下

然后执行命令(执行每个命令都会跳出一大堆信息,这是正确的):

命令1: ./configure --with-apxs=/usr/bin/apxs # (此处apxs路径是上面使用whereis apxs查出来的路径)

命令2: make

以上两个命令行执行完毕后,cd进到native/apache-2.0/,此目录下可以找到一个mod_jk.so文件。将这个文件复制到apache安装路径下的modules文件夹下,我是用apt-get install apache2安装的,modules文件夹路径为:/usr/lib/apache2/modules

复制mod_jk.so到/usr/lib/apache2/modules下:

cp mod_js.so /usr/lib/apache2/modules

 

4.创建相关配置文件   (以下文件内容,特别是路径,需要根据你自己的情况的路径来配置)

①环境变量的配置:/etc/profile

# JDK的环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# Tomcat的环境变量
export CATALINA_HOME=/home/my_install/apache-tomcat-8.5.38
export PATH=${CATALINA_HOME}/bin:$PATH

# Apache2服务器的环境变量
export PATH=/usr/sbin:$PATH

 

②Apache的配置文件:/etc/apache2/apache2.conf

# ServerName localhost:80

# 导入jk(mod_jk)模块
Include /etc/apache2/mod_jk.conf

<VirtualHost *:80>
	DocumentRoot "/home/my_install/apache-tomcat-8.5.38/webapps/test" #tomcat部署的工程目录
	JkMount /* worker1                      #这句话表示把所有请求都抛给tomcat1处理,tomcat1是随后workers.properties文件中的一实例
	ServerName   fucaijin.cn                #访问站点的域名,如果没有就写成localhost
	JkUnMount /*.jpg  tomcat1           	#表示所有的.jpg都不抛给tomcat1,由Apache自己处理,其他文件类型也一样
</VirtualHost>

 

③jk的配置文件:/etc/apache2/mod_jk.conf

# Load mod_jk module
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

<IfModule jk_module>
# 设置workers的配置文件路径
JkWorkersFile /etc/apache2/workers.properties

# 对网页的过滤规则
JkMountFile /etc/apache2/uriworkermap.properties

# jk的共享内存路径(共享内存是在做服务器集群使用要用到的,此文件会自动创建)
JkShmFile     /var/log/apache2/mod_jk.shm

# jk的log路径
JkLogFile     /var/log/apache2/mod_jk.log

# jk输出log的级别设置 [debug/error/info](可选)
JkLogLevel    info

# mod_jk日志的时间戳格式(可选)
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</IfModule>

 

④JkWorkersFile的配置文件:/etc/apache2/workers.properties

# 1.为mod_jk模块指明Tomcat的安装路径
workers.tomcat_home=$CATALINA_HOME

# 2.为mod_jk模块指明JDK的安装路径
workers.java_home=$JAVA_HOME

# 3.添加一个worker到worker列表,注意:worker.list中worker的名字应该与/etc/apache2/apache2.conf配置文件中的JkMount的值一致。如果要使用服务器集群,即调用多个tomcat(一台机器可以运行多个Tomcat,也可以是多台机器上的多个tomcat),就使用逗号分开即可,例如worker.list=tomcat1,tomcat2,tomcat3...
worker.list=tomcat1

# 4.为worker.list中的tomcat设定各个参数
# 4.1.工作端口,Tomcat的默认Connector(连接器)监听端口,可以查看Tomcat目录下的/conf/下的server.xml中有protocol="AJP/1.3"这一行的port值是"8009"(默认的)
# 8009为AJP端口,APACHE能过AJP协议访问TOMCAT的8009端口。
# Connect(连接器)负责接收外部连接请求,创建Request、Response对象用于请求的数据交换,并分配线程让Container处理该请求,支持多种协议的请求(如HTTP,AJP等)
worker.tomcat1.port=8009

# 4.2.Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP或者域名
worker.tomcat1.host=localhost

# 4.3.worker的类型,允许的值为ajp13、ajp14、lb、status等;ajp13是mod_jk连接WebServer和Tomcat的首选方式(即使用socket作为通信渠道)
worker.tomcat1.type=ajp13

# 4.4.负载平衡因,表示权重,值越高权重越大,此tomcat得到请求的分发概率就越大
worker.tomcat1.lbfactor=1

 

⑤uriworkermap.properties过滤规则的配置文件:/etc/apache2/uriworkermap.properties

#定义tomcat处理的文件类型,tomcat不处理的由apache来处理。
/*=tomcat1 			# 所有的请求都由 tomcat1 这个 worker 进行处理  
/jkstatus=jk-status #/jkstatus 请求由status这个 worker 处理

!/*.jpg=tomcat1  
!/*.gif=tomcat1  
!/*.png=tomcat1  
!/*.bmp=tomcat1
!/*.html=tomcat1  
!/*.htm=tomcat1  
!/*.swf=tomcat1
!/*.css=tomcat1  
!/*.js=tomcat1

/*=work1表示说:所有的请求都交给tomcat处理。/是相对路径
!/*.jpg=tomcat1表示说:在根目录下,所有的jpg结尾的文件都不由tomcat1处理,由apache服务器自己处理

 

注:在第二步(Tomcat安装与配置)中的第三小步:启动tomcat时为了单独测试tomcat我把8080改为了80端口,此时需要修改回8080,不然会出错.因为tomcat用了80,apache也要用80,会有冲突导致启动失败.

 

启动tomcat: 进到tomcat的bin目录下执行命令 - ./startup.sh (如果是windows系统则使用:./startup.bat)

启动apache: service apache2 start

通过浏览器可以访问服务器即表示服务器启动成功,如下图所示:

如果我的文章对您有帮助,就请客官给个赞吧

THE END!  

2019-02-25 23:19 HaiKou.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值