Linux Server JavaEE配置心得以及踩坑
起始環境
配置Tomcat
基礎引數
- Tomcat版本:apache-tomcat-9.0.12
- Tomcat路徑:/home/server/apache-tomcat-9.0.12
基礎配置
埠對映HTTP
- 作用 :修改訪問埠為HTTP預設埠80,可省略訪問埠號如:8080
- 步驟 :
- 開啟配置檔案server.xml
/home/server/apache-tomcat-9.0.12# vim conf/server.xml
-
修改server.xml
在server.xml中尋找一個Connector,最初狀態其屬性port為8080,同時應含有一個屬性為protocol其值包含HTTP,將8080改為80
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
- 儲存退出
問題解決
無法關閉tomcat伺服器
- 描述 :使用
sudo ./bin/catalina.sh stop
命令關閉,得到報錯,且檢視程序情況 tomcat服務8005埠未開啟 。
SEVERE: Catalina.stop: java.net.ConnectException: Connection refused (Connection refused)
- 原因 :tomcat服務8005埠未開啟,導致catalina無法經由埠訪問tomcat關閉服務,進而
Connection refused
。此外,在多次測試中,8005埠有時會開啟成功有時開啟失敗,導致該報錯並非一定出現。 - 解決方案 :
分析:網路上對於該問題的解決方案在我少量的閱讀下,感覺上大多數方案均為更改非常重要的程式碼。其中有修改$JAVA_HOME$/jre/lib/security/Java.security/securerandom.source
配置項等方案,本著儘量不修改原生配置項的原則,我從tomcat沒有成功在8005埠開啟著手,得到了一個親測能夠解決的方案。
方案:首先通過startup.sh再次啟動tomcat服務,再通過catalina.sh stop關閉(或者,等待tomcat啟動完成亦可)
sudo ./bin/startup.sh sudo ./bin/catalina.sh stop
- 注 :
- 如果通過
sudo ./bin/startup.sh
也無法開啟tomcat服務,則請忽略該方法 - 還有其他的問題是在tomcat服務8005埠已開啟的情況下,發生
Connection refused
異常,我暫時沒遇到。但有個可能有用的方案: ofollow,noindex">解決方案 - 檢視tomcat服務是否開啟的命令:
netstat -an --ip
-
./bin/startup.sh
與./bin/catalina.sh start
功能一致
./bin/shutdown.sh
與./bin/catalina.sh stop
功能亦一致
原因在於startup.sh
與shutdown.sh
相當於是封裝了上述後者的功能
- 如果通過
配置MySQL
基礎引數
- MySQL版本:MySQL 5.7.23-0
- 路徑:Ubuntu安裝好後有全域性變數配置,不需要了解安裝路徑
基礎配置
資料庫遠端連線
- 作用 :能使位於其他主機上的相關軟體如IDEA能通過網路訪問伺服器上的MySQL服務,簡化開發期間操作(其實就是不願在伺服器上手寫SQL程式碼,自動完成都沒有)
- 步驟 :
-
開放ECS埠
在伺服器對應的安全組加入如下內網入方向規則
安全組配置
- 開放MySQL服務埠至公網
/etc/mysql/my.cnf /etc/mysql/mysql.conf.d/mysqld.cnf
上圖有兩個檔案,按順序檢視並尋找 bind-address
項,從 127.0.0.1
改至 0.0.0.0
,儲存並重啟MySQL。通過 netstat -an --ip | grep 3306
檢視當前網路活動,當出現下述項, :3306
前IP為 0.0.0.0
時,表示設定成功
tcp00 0.0.0.0:33060.0.0.0:*LISTEN
-
開放MySQL遠端連線使用者
本處建議新建供遠端連線使用的使用者而不是直接修改
root
使用者資訊
grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option; flush privileges;
其中 username
與 password
自填希望使用的遠端使用者名稱與密碼,當成功執行後,進入MySQL檢視使用者資訊,此時應可以看到 host
為 %
的使用者
select user, host from mysql.user

檢視使用者表結果
-
成功完成伺服器配置,接下來以IDEA為例截圖演示成功連線結果
成功連線遠端MySQL伺服器