最近買了一臺阿里雲,如今阿里雲CentOS都已經支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大區別就是service變成了如今的systemctl,簡單的查了一下並結合使用,發現systemctl功能上等同於6上面的service+chkconfig,也就是說配置service與設置開機啓動都是使用systemctl。html
開始配置tomcatjava
1.環境準備,安裝javalinux
在生產環境上,我通常使用oracle java,不使用openjdk,因此先卸載系統自帶的openjdkweb
yum remove java
下載oracle java Linux rpm安裝包(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)apache
安裝bootstrap
rpm -ivh jdk-8u92-linux-x64.rpm
java默認的安裝目錄在/usr/java/jdk1.8.0_92(根據具體的版本目錄名不一樣)vim
2.下載tomcattomcat
我選擇使用清華大學源,速度十分快,這個源還有其餘資源,下載軟件能夠在這裏找oracle
將tomcat下載到/opt目錄下,並解壓性能
# 下載 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.0.36/bin/apache-tomcat-8.0.36.tar.gz -P /opt # cd到tomcat包的目錄 cd /opt # 解壓tomcat包 tar -zxf apache-tomcat-8.0.36.tar.gz # 建立符號連接tomcat8,由於解壓出來的包名比較長,爲了方便 ln -s apache-tomcat-8.0.36 tomcat8 # 能夠選擇刪除tomcat包 rm -rf apache-tomcat-8.0.36.tar.gz
3.設置環境變量
# cd 到 /et/profile.d目錄 cd /etc/profile.d # 建立tomcat8.sh vim tomcat8.sh # 輸入如下內容 # java tomcat env export JAVA_HOME=/usr/java/jdk1.8.0_92 export CLASS_PATH=.:$JAVA_HOME/lib export CATALINA_HOME=/opt/tomcat8 export CATALINA_BASE=/opt/tomcat8 export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin
# 保存tomcat8.sh文件,使用source使環境變量當即生效
source /etc/profile
4.簡單介紹systemctl命令的使用
systemctl list-unit-files --type service #查看所有服務命令
systemctl status name.service #查看服務命令
systemctl start name.service #啓動服務
systemctl stop name.service #中止服務
systemctl restart name.service #重啓服務
systemctl enable name.service #增長開機啓動
systemctl disable name.service #刪除開機啓動
5.配置tomcat的啓動參數
# 編輯/opt/tomcat8/bin/setenv.sh,沒有的話就新建 vim /opt/tomcat8/bin/setenv.sh # 輸入如下配置選項(tomcat有不少配置選項) # 設置tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" # 設置java參數,提升性能 JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" # 保存文件 # 修改文件權限變爲可執行 chmod a+x /opt/tomcat8/bin/setenv.sh
6.建立tomcat帳戶來啓動tomcat,並修改tomcat文件的屬性
getent group tomcat || groupadd -r tomcat getent passwd tomcat || useradd -r -d /opt -s /bin/nologin -g tomcat tomcat chown -R tomcat:tomcat /opt/apache-tomcat-8.0.36
7.配置systemctl來管理tomcat
# 在/usr/lib/systemd/system目錄下新建tomcat8.service文件 cd /usr/lib/systemd/system # 建立tomcat8.service文件 vim tomcat8.service # 輸入如下內容 [Unit] Description=Apache Tomcat 8 After=syslog.target network.target [Service] Type=forking PIDFile=/opt/tomcat8/tomcat.pid ExecStart=/opt/tomcat8/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true User=tomcat Group=tomcat [Install] WantedBy=multi-user.target
# 保存wq!
8.上面tomcat8.service文件建立完畢後就能夠經過systemctl來管理tomcat了
設置tomcat開機啓動
systemctl enable tomcat8
啓動tomcat
systemctl start tomcat8 # 查看tomcat進程 [root@cc ~]# ps aux | grep tomcat tomcat 16150 0.1 27.0 2626292 275420 ? Sl 14:34 0:36 /usr/bin/java -Djava.util.logging.config.file=/opt/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=512m -Xms256M -Xmx512M -XX:MaxNewSize=128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat8 -Dcatalina.home=/opt/tomcat8 -Djava.io.tmpdir=/opt/tomcat8/temp org.apache.catalina.startup.Bootstrap start
9.配置完畢
tomcat啓動時會在tomcat的根目錄/opt/tomcat8下生成pid文件tomcat.pid,中止後會刪除,用systemctl管理tomcat不會出現同時啓動多個tomcat,這樣能夠保證始終只有一個tomcat在運行
文中有不足之處,請直接指出,QQ:1485619676,歡迎交流學習