最近買了一台阿里雲,現在阿里雲CentOS都已經支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大區別就是service變成了現在的systemctl,簡單的查了一下並結合使用,發現systemctl功能上等同於6上面的service+chkconfig,也就是說配置service與設置開機啟動都是使用systemctl。
開始配置tomcat
1.環境准備,安裝java
在生產環境上,我一般使用oracle java,不使用openjdk,所以先卸載系統自帶的openjdk
yum remove java
下載oracle java Linux rpm安裝包(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
安裝
rpm -ivh jdk-8u92-linux-x64.rpm
java默認的安裝目錄在/usr/java/jdk1.8.0_92(根據具體的版本目錄名不同)
2.下載tomcat
我選擇使用清華大學源,速度十分快,這個源還有其他資源,下載軟件可以在這里找
將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,歡迎交流學習