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,需要更新版本的可以参考 MariaDB 官方网站

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

  • 配置 Tomcat,# vim /etc/tomcat8/web.xml,搜索 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>

以开启 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
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLSv1.2"keystoreFile="/etc/tomcat8/cert/seliote.com.pfx" keystorePass="${UNZIPED_TXT_FILE_CONTENT}"  />
  • 开启 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

后续 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

阿里云 Debian 9.2 安装 Java Web 环境相关推荐

  1. 使用阿里云服务器,nginx安装第三方ssl证书

    使用阿里云服务器,nginx安装第三方ssl证书 环境 服务器:阿里云ECS 系统:Centos 7 ssl证书:DigiCert 1.准备好证书的证书私钥.证书文件 2.上传至服务器 3. ngin ...

  2. 阿里云【名师课堂】Java零基础入门6:CLASSPATH环境属性

    阿里云[名师课堂]Java零基础入门6:CLASSPATH环境属性 一.具体内容 二.总结 一.具体内容 CLASSPATH指的是类的加载路径,是一个路径列表,用于搜索Java编译或者运行时所用到的类 ...

  3. centos 安装java web_Centos上安装java web的环境

    Centos上安装java web的环境 ,本次例子尽量不用yum形式安装(因为我不知道yum安装怎么指定目录,想把java,tomcat,mysql安装到指定的文件夹下,好管理). (java和to ...

  4. 阿里云短信验证解决方案(java版)(redis存储)

    阿里云短信验证解决方案(java版)(redis存储) 参考文章: (1)阿里云短信验证解决方案(java版)(redis存储) (2)https://www.cnblogs.com/Amos-Tur ...

  5. 为阿里云服务器ECS实例安装Nodejs

    为阿里云服务器ECS实例安装Nodejs 部署Node.js项目(CentOS) 准备工作 操作步骤 步骤1:部署Node.js环境(使用二进制文件安装) 步骤2:部署测试项目 部署Node.js项目 ...

  6. 阿里云windows server 2012安装.net framework3.5失败解决方案

    阿里云windows server 2012安装.net framework3.5失败解决方案 参考文章: (1)阿里云windows server 2012安装.net framework3.5失败 ...

  7. 【阿里云镜像】使用阿里云Docker CE 镜像安装Docker

    文章目录 一.参考链接 二.Docker CE简介 三.使用阿里云Docker CE镜像安装Docker 1.SSH连接CentOS 7系统 2.基于CentOS 7安装配置Docker(使用 yum ...

  8. 阿里云服务器的mysql安装

    阿里云服务器的mysql安装 寻找了大量的阿里云服务器ECS下载安装的教程,整理以下流程和遇到的问题以及解决方式 以下为本文参考的文章博客: https://blog.csdn.net/ChenLij ...

  9. 腾讯云服务器镜像部署 Java Web 环境

    操作场景 腾讯云市场中提供了例如包含多种操作系统.热门软件等不同类型的镜像.您可选择这些镜像,在腾讯云云服务器(CVM)上快速部署具有较高稳定性和安全性的软件环境以及个人网站. 本文档介绍在 Linu ...

最新文章

  1. 一文看懂谷歌 NYC 算法与优化业务全景:三大项目组12个子领域详解(附重点论文下载)
  2. JZOJ 5476. 【NOIP2017提高组正式赛】奶酪
  3. epoll 接口以及原理说明
  4. css线条伸缩_伸缩布局(CSS3)
  5. [leetcode]Pascal#39;s Triangle II
  6. CVPR 2021 图像压缩最新进展
  7. 如何用word写书_如何将100页PPT转换成Word?1键轻松搞定,看完你还用复制黏贴吗...
  8. web开发中的计算机网络知识——应用层
  9. usb耳机android,USB 耳机:配件规范  |  Android 开源项目  |  Android Open Source Project...
  10. Python入门--字符串的查询操作,find,rfind,index,rindex
  11. SQL SERVER 数据库概括
  12. ghost64怎么装linux,CentOS 7.5上安装Node.js搭建Ghost个人博客
  13. Eclipse启动Tomcat 警告: 基于APR的本地库加载失败.错误报告为
  14. 在线多功能工具箱php源码
  15. bzoj4173:数学
  16. 注意力(Attention)
  17. Ubuntu wine 安装qq,微信
  18. RTMP 摄像头推流至七牛云直播
  19. 香侬专栏 | 独家对话斯坦福大学计算机系教授Percy Liang
  20. 智能家具N种WIFI密码设置方法

热门文章

  1. java 解析docx_java解析xlsx和docx 文件 | 学步园
  2. python sklearn svm 权重_sklearn svm基本使用
  3. python引入模块教程_python进阶教程之模块(module)介绍
  4. 绝对干货!纯用HTML+CSS+JS 编写的计算器应用
  5. matlab中表示拉普拉斯分布_神奇的正态分布
  6. linux查看spare盘的数量,戴尔Dell服务器使用OMSA软件omreport查看硬件信息|磁盘阵列健康监控...
  7. aspx怎么转成java,Asp.net 2.0 中.aspx请求,即如何生成响应的Html文件(原创)
  8. python 输入一行、加密y变成a_下面程序实现如下功能:输入一行字母将字母加密输出(a变成c,b变成d, 一直到z变成b)...
  9. 高岭土吸附阳离子_水分子在高岭土中吸附特性的蒙特卡罗模拟研究
  10. 背包问题(nyoj106)