文章講述在centos7上用tomcat部署springboot項(xiàng)目,并且按日志按每天輸出。
先打開(kāi)springboot項(xiàng)目的pom.Xml,
要打包成war,添加:<packaging>war</packaging>
添加一個(gè)依賴:
<!--聲明spring boot內(nèi)嵌tomcat的作用范圍在運(yùn)行時(shí)不起作用-->
????????<dependency>
????????????<groupId>org.springframework.boot</groupId>
????????????<artifactId>spring-boot-starter-tomcat</artifactId>
????????????<scope>provided</scope>
????????</dependency>
再添加插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
????<groupId>org.apache.maven.plugins</groupId>
????<artifactId>maven-compiler-plugin</artifactId>
????<version>3.6.0</version>
????<configuration>
????????<source>1.8</source>
????????<target>1.8</target>
????</configuration>
</plugin>
</plugins>
<!-- 打包后的名稱 -->
<finalName>testProject</finalName>
</build>
我這里使用eclipse,然后run as -》 maven bulid -》 clean install 就打包成testProject.war,
在centos機(jī)器上新建一個(gè)文件夾,把tomcat壓縮包和testProject.war放進(jìn)去(比如我tomcat放在/www/testWork/ ,testProject.war放在/www/testWork/testProject)
解壓:


在tomcat的bin下修改startup.sh,在后面添加自己的環(huán)境:
export JAVA_HOME=/usr/local/java/jdk1.8.0_201
export CATALINA_HOME=/www/testWork/apache-tomcat-8.5.40
export TOMCAT_HOME=/www/testWork/apache-tomcat-8.5.40
export JAVA_OPTS="-Xms512m -Xmx512m"
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$TOMCAT_HOME/bin
修改tomcat的conf/server.xml
<Host name="localhost" ??appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="/www/testWork/testProject" debug="0"/>
????????<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
???????????????prefix="localhost_access_log" suffix=".txt"
???????????????pattern="%h %l %u %t "%r" %s %b" />
</Host>
運(yùn)行tomcat的bin目錄下的startup.sh文件啟動(dòng)tomcat,tail -f logs/catalina.out 查看日志,啟動(dòng)成功就訪問(wèn)(wget http://localhost:8080),這個(gè)頁(yè)面就可以下載下來(lái),查看沒(méi)有錯(cuò),就用另外機(jī)器訪問(wèn),如果訪問(wèn)失敗,那就是防火墻問(wèn)題,
防火墻開(kāi)放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
防火墻重新啟動(dòng)
firewall-cmd --reload
這樣項(xiàng)目就部署成功。
項(xiàng)目上的Tomcat服務(wù)器logs目錄下面的catalina.out日志運(yùn)行一段時(shí)間之后,變的越來(lái)越大,而這樣如果需要查找某一天內(nèi)特定的日志內(nèi)容時(shí)就會(huì)變得很不方便,所以需要對(duì)這個(gè)日志進(jìn)行按日期分割生成,方便查找日志。
這個(gè)過(guò)程總共分為兩步:
1.在服務(wù)器上安裝cronolog(如果已經(jīng)安裝,跳過(guò)此步)
在服務(wù)器執(zhí)行which cronolog命令,如果輸出一個(gè)具體的路徑,說(shuō)明你的服務(wù)器已經(jīng)安裝好cronolog,不需要再安裝,可以跳過(guò)第一步。
如果不是,則需要給你的服務(wù)器安裝cronolog,
下載cronolog:
鏈接: https://pan.baidu.com/s/1cdRvO-ROfqbm6tAT9aICuA 密碼: ica7
下載完成之后,上傳到你的服務(wù)器,進(jìn)入你上傳的目錄解壓:tar zxvf cronolog-1.6.2.tar.gz
進(jìn)入到解壓縮后的目錄執(zhí)行:
./configure
注:執(zhí)行./configure時(shí)報(bào)錯(cuò),error: no acceptable cc found in $PATH
原因是沒(méi)有安裝gcc的編輯器。因此安裝
yum install gcc gcc-c++ gcc-g77
然后執(zhí)行:
make
make install
執(zhí)行完之后,如果一切正常,則代表安裝成功,驗(yàn)證安裝是否成功,執(zhí)行:
which cronolog
輸出路勁/usr/local/sbin/cronolog表示安裝成功。
2.配置Tomcat配置文件
打開(kāi)tomcat目錄下bin/catalina.sh文件,
在420行左右 有一行這樣的代碼
touch "$CATALINA_OUT"
前面加上"#"注釋掉?
#touch "$CATALINA_OUT"
在432行左右,有下面類似的代碼
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 “&”
修改為
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
(注意如果你的cronolog安裝路徑不是/usr/local/sbin/cronolog 那么則需要該改為你自己的路徑)
在441行左右也有一段同樣的代碼
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_OUT” 2>&1 “&”
也修改為
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
|/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
修改完之后重啟tomcat,你會(huì)發(fā)現(xiàn)logs目錄下面多出一個(gè)按照當(dāng)天日期生成的一個(gè)catalina.xxxx-xx-xx.out文件
