阿里云 Debian 9.2 安装 Java Web 环境
Posted seliote
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云 Debian 9.2 安装 Java Web 环境相关的知识,希望对你有一定的参考价值。
本来是用 CentOS 的,结果源里的 Tomcat 有 bug,再这者源里 Tomcat 与 MariaDB 版本也都很低
阿里云相关配置
- 创建密钥对,网络和安全 -> 密钥对 -> 创建密钥对,按提示创建即可
- 更换实例系统盘,换成 CentOS 7.4 64 位,设置使用密钥登录而非密码
- ECS 实例放行 Tomcat 的 8080 端口,如果不放行结果就是进行请求时服务器无响应,控制台选择对应 ECS -> 更多 -> 网络和安全 -> 安全组配置 -> 配置规则 -> 添加安全组规则 -> 规则方向为入方向、端口范围为 8080、授权对象为0.0.0.0/0 -> 确定,同样操作放行 8443 端口,出方向默认全部开放,无需配置
- SSH 连接服务器,
ssh [email protected]${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}
,重启 ssh# 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} [email protected]${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 环境的主要内容,如果未能解决你的问题,请参考以下文章
阿里云服务器Debian11系统安装Linux宝塔面板 搭建WordPress个人博客