Ubuntu Tomcat

      在〈Ubuntu Tomcat〉中尚無留言

移除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 &quot;%r&quot; %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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *