博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云 Debian 9.2 安装 Java Web 环境
阅读量:5158 次
发布时间:2019-06-13

本文共 3269 字,大约阅读时间需要 10 分钟。

CentOS 源内包太旧,和本地开发环境不兼容的地方太多

系统配置

  • 更新数据库与软件包 # apt-get update && apt-get -y upgrade 提示是否保留本地已修改文件时选择 install the package maintainer's version

  • 安装 vim 与 unzip # apt-get -y install vim unzip

  • 修改 SSH 端口,# vim /etc/ssh/sshd_config,查找 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/tomcat8/webapps"PMT_ORANGE="\[$(tput setaf 3)\]"PMT_RESET="\[$(tput sgr0)\]"export PS1="${PMT_ORANGE}\u \A \w >>>${PMT_RESET} "

退出普通用户 $ exit,准备开始安装 Web 环境

安装 JRE, Tomcat, MariaDB

  • 搜索 JRE 包名,# apt-cache search java | grep jre,这里使用 openjdk-8-jre,安装 JRE # apt-get -y install openjdk-8-jre

  • 搜索 Tomcat 包名 apt-cache search tomcat,这里用 tomcat8,安装 Tomcat # apt-get -y install tomcat8# dpkg -L tomcat8 查询 tomcat8 安装路径

  • 搜索 MariaDB 包名 apt-cache search mariadb,这里用 mariadb-server,安装 MariaDB # apt-get -y install mariadb-server,需要更新版本的可以参考

  • Debian 上安装完成后 Tomcat 与 MariaDB 是默认自启的

  • 配置 Tomcat,# vim /etc/tomcat8/web.xml,搜索 org.apache.jasper.servlet.JspServlet,下一行添加
compilerSourceVM
1.8
compilerTargetVM
1.8

以开启 Java 8 的支持

  • 配置 MariaDB,# mysql_secure_installation,按照向导进行配置即可,但是安装完成后默认是可以无需密码登录的,更改一下# mysql 进入 MariaDB 的回显,换库 > USE mysql;,替换默认的 unix_socket 插件(或者直接置空''也可以) > UPDATE `user` SET `plugin` = 'mysql_native_password' WHERE `User` = 'root';,刷新权限 > FLUSH PRIVILEGES;,退出 > exit

域名解析与 HTTPS

  • 添加域名解析,阿里云控制台域名列表,选择解析,添加记录,记录类型为 A,主机记录为 @ 以解析主域名,解析线路默认即可,记录值为 ECS 的 IP 地址,TTL 10 分钟即可,按需添加其他解析记录

  • 申请 SSL 证书,点击全部产品,安全,SSL 证书,购买证书,Symantec,免费型 DV SSL,选择一个域名,购买,然后返回证书控制台,点击 SSL 证书的申请,证书绑定域名输入一级域名即可,域名验证方式为自动 DNS 验证,CSR 生成方式为系统生成,下一步,验证,提交审核,等待验证完成

  • 安装 SSL 证书,签发完成后下载 SSL 证书,下载 Tomcat 的版本,解压后得到 pfx 与 txt 文件各一个,上传 pfx 文件到服务器,比如上传后 pfx 文件为 ~/seliote.com.pfx,切换到 Tomcat 配置目录 # cd /etc/tomcat8/,创建一个存储证书的文件夹 # mkdir cert,证书复制过去 # cp ~/seliote.com.pfx cert/,编辑 Tomcat 的配置 # vim server.xml,添加一个端口为 8443 的 Connector 节点,这里使用的协议是 Http11NioProtocol,其他两种协议 Http11ProtocolHttp11AprProtocol 前者性能太差,后者较难配置,sslProtocol 值使用 TLSv1.2,同时支持 SSLv3, TLSv1, TLSv1.1 和 TLSv1.2
  • 开启 HTTP 自动跳转 HTTPS,编辑配置文件 # vim web.xml,根节点末尾之前添加
HttpsOnly
/*
CONFIDENTIAL
  • 重启 Tomcat 即可 # systemctl restart tomcat8

后续 Bug 排查

  • 系统重启发现 Tomcat 会发生阻塞,systemd 的状态是 activity,浏览器不报错也无法访问,主机 # curl -v http://127.0.0.1:8080 都是阻塞状态,但是几分钟后就又恢复了,查看日志发现了这行 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [393,380] milliseconds,看到随机数生成了六分多钟,阻塞是应该的了,尝试安装一个随机数生成器,# apt-cache search rng-tools,查到了两个 rng-tools 和 rng-tools5,装 rng-tools 结果报错,查 Debian Wiki 发现对硬件有限制,在 Wiki 里看到 rng-tools5 支持新硬件,尝试安装,# apt-get install rng-tools5,成功,重启 ECS,这次直接就可以访问了

转载于:https://www.cnblogs.com/seliote/p/10161567.html

你可能感兴趣的文章
《大教堂与集市》读后感
查看>>
[RabbitMQ]Windows环境下rabbitmqclt(Command Line Tools)出现Erlang distribution failed错误的解决方法...
查看>>
创业这三年@各种奇遇
查看>>
正确配置调试world wind on vs2008
查看>>
纯css实现3D动画
查看>>
几种按键消抖方案的verilog描述
查看>>
四则运算 Day2
查看>>
使用SpringBoot生成项目
查看>>
C++ __super关键词用法
查看>>
FTP上传及下载
查看>>
作业5 四则运算 测试与封装 5.1
查看>>
实验7
查看>>
双系统更改启动顺序
查看>>
用参数较少的函数替换参数较多的函数
查看>>
【转】函数中的形参问题(指针形参、引用形参、二重指针作为形参)
查看>>
location对象查询字符串参数
查看>>
Python基础
查看>>
开发中用到的工具
查看>>
linux支持的machine-types
查看>>
(原)使用intel的ipp库计算卷积及相关
查看>>