阿里云 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 权限 # visudoroot 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个人博客

在阿里云主机的Debian操作系统上安装Docker

阿里云服务器Debian11系统安装Linux宝塔面板 搭建WordPress个人博客

Debian -9.2 安装 注意

阿里云安装lnmpa

由于Impure Library导致Debian 9.2错误