在Linux下Tomcat的配置
在Linux下Tomcat的配置
首先声明:
我是在腾讯云租的服务器,且有域名,所以我直接可以使用公用ip和域名直接查看网页,如果使用的是虚拟机的话,自己查看自己的内网ip,则可查看网页。
如果使用的是linux系统的话,可以使用
localhost:8080或者127.0.0.1:8080查看
Tomcat的安装
安装包:www.cofel.cn
-
将安装包传入到服务器中
-
将Tomcat复制至
/usr/local/
下命令:
[root@VM_0_14_centos package]# cp apache-tomcat-9.0.33.tar.gz /usr/local/
-
将压缩包解压
命令:
[root@VM_0_14_centos local]# tar -zxvf apache-tomcat-9.0.33.tar.gz
-
更改名称并把压缩包删掉
命令:
[root@VM_0_14_centos local]# mv apache-tomcat-9.0.33.tar.gz tomcat9
[root@VM_0_14_centos local]# rm -rf apache-tomcat-9.0.33.tar.gz
安装完成
Tomcat的配置
由于我装的时候后台还没有完成,所以直接先放静态网页上去了。
那么就要改一下配置,使网页可以正常显示
-
首先进入tomcat9的文件夹中
命令:
[root@VM_0_14_centos /]# cd /usr/local/tomcat9/
-
把网页复制过来,之后把webapps下面的ROOT删掉,将自己的网站放入解压并更改名称为ROOT
命令:
[root@VM_0_14_centos package]# cp Blog.tar /usr/local/tomcat9/webapps
[root@VM_0_14_centos package]# cd /usr/local/tomcat9/webapps
[root@VM_0_14_centos webapps]# rm -rf ROOT
[root@VM_0_14_centos webapps]# tar -xvf Blog.tar
(解压tar用xvf,解压gz用zxvf)[root@VM_0_14_centos webapps]# mv Blog ROOT
[root@VM_0_14_centos webapps]# rm -rf Blog.tar
-
修改server.xml文件的端口号,使网页可以只输入ip或者域名直接进入,而不用加入端口号。
在网页中如果只输入ip或者域名,网页默认80端口。
Tomcat的默认端口号是8080,所以要进入网页的话需要输入8080端口号。
例:cofel.cn:8080
所以我们需要进入server.xml文件中将默认端口号改为80端口。
进入conf下面:
[root@VM_0_14_centos /]# cd /usr/local/tomcat9/conf/
命令:
[root@VM_0_14_centos conf]# vim server.xml
在里面找到这一行
<!-- A "Service" is a collection of one or more "Connectors" that share a single "Container" Note: A "Service" is not itself a "Container", so you may not define subcomponents such as "Valves" at this level. Documentation at /docs/config/service.html --> <Service name="Catalina"> <!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> --> <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 This connector uses the NIO implementation. The default SSLImplementation will depend on the presence of the APR/native library and the useOpenSSL attribute of the AprLifecycleListener. Either JSSE or OpenSSL style configuration may be used regardless of the SSLImplementation selected. JSSE style configuration is used below. --> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" type="RSA" /> </SSLHostConfig> </Connector> -->
-
将
port="8080"
修改为port="80"
,后按Esc键wq退出。Esc键是退出编辑模式进入命令模式wq是保存的意思
wq: 保存
q: 如果没有修改过可以直接退出
q!: 强制退出不保存
-
修改web.xml文件,指定默认启动哪一个网页。
在启动Tomcat的时候,输入ip或域名会自动打开一张网页,这张网页就是在web.xml文件中指定的。
命令:
[root@VM_0_14_centos conf]# vim web.xml
一般是在最后一行,可以使用快捷键直接跳到最后一行。
在命令模式下:gg到第一行;G到文件最后一行
由于是xml文件,注释是
所以把不用的注释了就行了,如果下次使用在把注释删掉就可以。
可以配置多个。
寻找顺序为index.html→index.htm→index.jsp
修改如下
<!-- ==================== Default Welcome File List ===================== --> <!-- When a request URI refers to a directory, the default servlet looks --> <!-- for a "welcome file" within that directory and, if present, to the --> <!-- corresponding resource URI for display. --> <!-- If no welcome files are present, the default servlet either serves a --> <!-- directory listing (see default servlet configuration on how to --> <!-- customize) or returns a 404 status, depending on the value of the --> <!-- listings setting. --> <!-- --> <!-- If you define welcome files in your own application's web.xml --> <!-- deployment descriptor, that list *replaces* the list configured --> <!-- here, so be sure to include any of the default values that you wish --> <!-- to use within your application. --> <welcome-file-list> <!-- <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> --> <welcome-file>blog.html</welcome-file> </welcome-file-list>
-
接下来进入bin目录启动tomcat即可,我在安装配置过程中并没有遇到错误,如果出现错误可能是步骤错了,还不行的话可以留言或者百度。
进入bin目录:
[root@VM_0_14_centos tomcat9]# cd /usr/local/tomcat9/bin/
启动:
[root@VM_0_14_centos bin]# ./startup.sh
关闭:
[root@VM_0_14_centos bin]# ./shutdown.sh
在这里要用./startup.sh,而不是startup.sh。
要在bin下边使用,可以输入ls查看一下是否显示的有startup.sh/shutdown.sh文件。
-
启动成功后去浏览器输入ip查看一下是否显示apache的页面,如果显示则成功。
Linux下Tomcat开机自启(两种方法)
Linux下Tomcat开机自动启动 Linux下tomcat开机自动启动有两种方法:
- 使用shell脚本实现
- 修改系统文件的方式实现
由于我太懒,所以用的第一种,第二种我没有用,所以直接复制过来了。
可能会出现问题,因为我没有试验过。
原地址:https://blog.csdn.net/it_mann/article/details/81638061
第一种方法
修改系统配置文件的方式实现
-
修改/etc/rc.d/rc.local文件
命令:
vim /etc/rc.d/rc.local
-
在文件最后加上两行脚本
上面会有几段不认识的代码,如下
这个不用管,在命令模式下按G(跳到最后一行),然后按o(在下一行进行编辑)
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local /usr/local/qcloud/irq/net_smp_affinity.sh >/tmp/net_affinity.log 2>&1 /usr/local/qcloud/rps/set_rps.sh >/tmp/setRps.log 2>&1 /usr/local/qcloud/irq/virtio_blk_smp_affinity.sh > /tmp/virtio_blk_affinity.log 2>&1 /usr/local/qcloud/gpu/nv_gpu_conf.sh >/tmp/nv_gpu_conf.log 2>&1
复制下面代码即可:
export JAVA_HOME=/usr/java/jdk1.8.0_191 /usr/local/tomcat9/bin/startup.sh
-
给rc.local文件添加执行权限
`chmod +x /etc/rc.d/rc.local
-
重启验证
sudo reboot
第二种方法
通过shell脚本实现 在linux中设置开机自动启动的服务,需要在/etc/init.d下写启动的脚本,还要在/etc/rcX.d下挂载。
-
用root权限连接上服务器
-
在/etc/init.d路径下新建一个文件(这里以tomcat为例)
命令:
vi /etc/init.d/tomcat
按"i"进入编辑,因为是一个新文件
#!/bin/sh # chkconfig: 2345 80 90 # description: Auto-starts tomcat # /etc/init.d/tomcatd # Tomcat auto-start # Source function library. #. /etc/init.d/functions # source networking configuration. #. /etc/sysconfig/network RETVAL=0 export JAVA_HOME=/usr/local/jdk1.8.0_91 export JRE_HOME=/usr/local/jdk1.8.0_91/jre export CATALINA_HOME=/root/apache-tomcat-8.0.39 export CATALINA_BASE=/root/apache-tomcat-8.0.39 start() { if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo $"Starting Tomcat" $CATALINA_HOME/bin/startup.sh RETVAL=$? echo " OK" return $RETVAL fi } stop() { if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then echo $"Stopping Tomcat" $CATALINA_HOME/bin/shutdown.sh RETVAL=$? sleep 1 ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9 echo " OK" # [ $RETVAL -eq 0 ] && rm -f /var/lock/... return $RETVAL fi } case "$1" in start) start ;; stop) stop ;; restart) echo $"Restaring Tomcat" $0 stop sleep 1 $0 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 ;; esac exit $RETVAL
需要注意的是:
- #chkconfig: 2345 80 90 2345
代表设置是在rc2.d-rc5.d中开启的,rc后面的数字代表开机启动时不同的运行级别,后面的 80和90分别代表S和K的默认执行序号,如要在rcX.d目录下链接多个脚本,每个脚本的执行序号应该是唯一的。
- #description: Auto-starts tomcat
这一行代码和上一行代码也是缺一不可的,如果缺少,后面在通过chkconfig --add tomcat添加服务的时候会出现 tomcat 服务不支持 chkconfig的错误 。
JAVA_HOME 代表jdk的安装路径。
CATALINA_HOME代表tomcat的安装路径。
-
保存tomcat文件退出后,给此文件添加可执行权限
命令:
Chmod +x /etc/init.d/tomcat
-
挂载
将这个shell文件连接到/etc/rc2.d/目录下,rcX.d目录下的命名规则是,根据开始还是关闭决定以S开头还是K开头,之后的数字代表启动顺序。
命令:
ln -s /etc/init.d/tomcat /etc/rc2.d/S80tomcat
-
添加脚本开机启动服务
命令:
chkconfig --add tomcat
用chkconfig --list查看服务是否添加成功。
-
重启验证
命令:
sudo reboot
没了
--------------------END--------------------
评论