移除apt所安裝的tomcat9
Tomcat 11 的版本比 Tomcat 9 更快更穩定,所以先前若有使用 apt-get 安裝過 Tomcat 9 的人,請依如下步驟移除。
sudo apt-get purge tomcat9 sudo apt autoremove sudo rm -rf /etc/tomcat9
下載及安裝
請到 https://tomcat.apache.org/download-11.cgi 下載Core版 .tar.gz檔,然後依如下步驟安裝。
sudo useradd -m -d /opt/tomcat -U -s /bin/false tomcat wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.18/bin/apache-tomcat-11.0.18.tar.gz tar zxvf apache-tomcat-11.0.18.tar.gz sudo mv apache-tomcat-11.0.18 /opt/tomcat sudo chown -R tomcat:tomcat /opt/tomcat sudo chmod -R u+x /opt/tomcat/bin
更改 port
Tomcat 預設的 port 為 8080,如果跟系統相衝,請執行如下指令
vim /opt/tomcat/conf/server.xml
然後將 8080 修改成 8085
<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
啟動及測試
執行如下指令即可啟動 Tomcat
cd /opt/tomcat/bin ./startup.sh #啟動 Tomcat ./shutdown.sh #關閉 Tomcat
然後於瀏覽器輸入伺服器虛擬 ip,即可看到 Tomcat 首頁。請注意工作機及伺服器必需在相同區域網路內。
http://192.168.1.10:8085
更改網頁根目錄
sudo vim /opt/tomcat/conf/server.xml,新增如下藍色部份
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
<Context path="/" docBase="/data/server/tomcat" debug="0" reloadable="true"/>
</Host>
設定首頁
假設首頁的網址是 http://localhost:8085/index,若希望輸入 http://localhost:8085 也可以顯示首頁,請先開啟 /opt/tomcat/conf/web/xml,新增如下藍色部份。
注意,只能寫 「index」,不能寫 「/index」。
<welcome-file-list>
<welcome-file>index</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
設定啟動服務
sudo vim /etc/systemd/system/tomcat.service,並寫入如下指令
[Unit] Description=Tomcat After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-1.21.0-openjdk-amd64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=always [Install] WantedBy=multi-user.target
啟用服數及啟動Tomcat
sudo systemctl daemon-reload sudo systemctl enable tomcat.service sudo systemctl start tomcat.service sudo systemctl status tomcat.service
Nginx設定
新增 /etc/nginx/sites-available/mahalrtc.ddns.net,撰寫如下設定
server{
server_name mahalrtc.ddns.net;
location / {
proxy_pass http://localhost:8085;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /pictures {
alias /data/pictures;
}
location /static {
alias /server/tomcat/static;
}
}
然後重新啟動 nginx
sudo systemctl restart nginx
設定SSL
執行如下指令,新增 SSL
sudo certbot --nginx
