阿裏雲 Debian 9.2 安裝 Java Web 環境
阿新 • • 發佈:2018-12-22
tput earch var use evm 完成 -i str console
本來是用 CentOS 的,結果源裏的 Tomcat 有 bug,再這者源裏 Tomcat 與 MariaDB 版本也都很低
阿裏雲相關配置
- 創建密鑰對,網絡和安全 -> 密鑰對 -> 創建密鑰對,按提示創建即可
- 更換實例系統盤,換成 CentOS 7.4 64 位,設置使用密鑰登錄而非密碼
- ECS 實例放行 Tomcat 的 8080 端口,如果不放行結果就是進行請求時服務器無響應,控制臺選擇對應 ECS -> 更多 -> 網絡和安全 -> 安全組配置 -> 配置規則 -> 添加安全組規則 -> 規則方向為入方向、端口範圍為 8080、授權對象為0.0.0.0/0 -> 確定,同樣操作放行 8443 端口,出方向默認全部開放,無需配置
- SSH 連接服務器,
ssh root@${IP} -p 22 -i ${PATH_TO_KEY_FILE}
,如果同一個服務器多次更換系統盤後重新連接需要執行ssh-keygen -R ${IP}
來更新密鑰
系統配置
- 更新系統
# apt-get update && apt-get upgrade -y
,提示本地文件修改過是否需要保留時選 install the package maintainer‘s version - 安裝 vim 與 unzip
# apt-get install -y vim unzip
- 修改 root 密碼
# passwd
- 修改 SSH 端口,查找 22,該行應該是註釋掉的,反註釋掉後修改為
Port ${PORN_NUM}
# systemctl restart sshd
- 添加一個新用戶,此處用戶名為 seliote,
# useradd -m -s /bin/bash seliote
,添加 sudo 權限# visudo
,root ALL=(ALL) ALL
下行添加seliote ALL=(ALL) ALL
,更新用戶密碼# passwd seliote
,添加 SSH 登錄密鑰並更改所屬用戶# cp -R ~/.ssh /home/seliote/ && chown -R seliote:seliote /home/seliote/.ssh
,切換過去修改一下 .bashrc,# su - seliote
# vim ~/.bashrc
,末尾添加以下內容
alias ll=‘ls -lh --color=auto‘
alias grep=‘grep --color=auto‘
alias mariadb_console=‘mysql -u root -p‘
export JAVA_WEB_PATH="/var/lib/tomcat/webapps"
PMT_ORANGE="\[$(tput setaf 3)\]"
PMT_RESET="\[$(tput sgr0)\]"
export PS1="${PMT_ORANGE}\u \A \w >>>${PMT_RESET} "
退出普通用戶,準備開始安裝 Web 環境
安裝 JRE, Tomcat, MariaDB
- 查找源裏的 JRE
# apt-cache search jdk
,這裏用 openjdk-8-jre,安裝 JRE# apt-get install -y openjdk-8-jre
- 查找源裏的 Tomcat
# apt-cache search tomcat
,這裏用 tomcat8(吐槽 CentOS 的 7),安裝 Tomcat# apt-get install -y tomcat8
- 查找源裏的 MariaDB
# apt-cache search mariadb
,這裏用 mariadb-server-10.1(再吐槽 CentOS 的 5),安裝 MariaDB# apt-get install -y mariadb-server-10.1
配置 Tomcat 與 MariaDB
- Tomcat 與 MariaDB 開機自啟
/lib/systemd/systemd-sysv-install enable tomcat8 && /lib/systemd/systemd-sysv-install enable mysql
,這裏需要註意, - 配置 Tomcat,開啟 Java 8 的支持,
# vim /etc/tomcat/web.xml
,開啟 Java 8 的支持,查找org.apache.jasper.servlet.JspServlet
,下一行添加
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
查找 setCharacterEncodingFilter
,應該會匹配到兩處,一個是過濾器的聲明,一個是過濾器的映射,兩個節點全部反註釋掉,以設置默認的編碼為 UTF-8
- 配置 MariaDB,
# mysql_secure_installation
,按照提示按需配置
域名解析與 HTTPS
- 添加域名解析,阿裏雲控制臺域名列表,選擇解析,添加記錄,記錄類型為
A
,主機記錄為@
以解析主域名,解析線路默認即可,記錄值為 ECS 的 IP 地址,TTL 10 分鐘即可,按需添加其他解析記錄 - 申請 SSL 證書,點擊全部產品,安全,SSL 證書,購買證書,Symantec,免費型 DV SSL,選擇一個域名,購買,然後返回證書控制臺,點擊 SSL 證書的申請,證書綁定域名輸入一級域名即可,域名驗證方式為自動 DNS 驗證,CSR 生成方式為系統生成,下一步,驗證,提交審核,等待驗證完成
- 安裝 SSL 證書,簽發完成後下載 SSL 證書,下載 Tomcat 的版本,將本地下載的 zip 文件上傳至服務器
$ scp -P ${POST} -i ${PEM_FILE_PATH} ${CA_FILE_PATH} root@${SERVER_IP}:~/tomcat.zip
,比如此處文件名為 tomcat.zip,SSH 到服務器,解壓該文件# unzip tomcat.zip
,此處解壓出 pfx 與 txt 兩個文件,切換到 tomcat 配置目錄# cd /etc/tomcat8/
,創建一個存儲證書的文件夾# mkdir cert
,將 pfx 文件復制過來# cp ~/seliote.com.pfx cert/
,編輯 Tomcat 配置文件vim server.xml
,查找 8443,port 屬性為 8443 的 Connector 節點應該是註銷狀態,添加一個新節點
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/etc/tomcat/cert/seliote.com.pfx" keystorePass="${解壓出的 txt 文件中的內容}" />
- 開啟 HTTP 自動跳轉到 HTTPS,
# vim web.xml
,根節點末尾前添加下面節點
<security-constraint>
<web-resource-collection>
<web-resource-name>HttpsOnly</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- 重啟 tomcat
# systemctl restart tomcat8
阿裏雲 Debian 9.2 安裝 Java Web 環境