CentOS 源内包太旧,和本地开发环境不兼容的地方太多java
更新数据库与软件包 # apt-get update && apt-get -y upgrade
提示是否保留本地已修改文件时选择 install the package maintainer's versionmysql
安装 vim 与 unzip # apt-get -y install vim unzip
web
修改 SSH 端口,# vim /etc/ssh/sshd_config
,查找 22,该行应该是注释掉的,反注释掉后修改成 Port ${PORN_NUM}
,重启 ssh # systemctl restart sshd
sql
# 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/tomcat8/webapps" PMT_ORANGE="\[$(tput setaf 3)\]" PMT_RESET="\[$(tput sgr0)\]" export PS1="${PMT_ORANGE}\u \A \w >>>${PMT_RESET} "
退出普通用户 $ exit
,准备开始安装 Web 环境数据库
搜索 JRE 包名,# apt-cache search java | grep jre
,这里使用 openjdk-8-jre
,安装 JRE # apt-get -y install openjdk-8-jre
apache
搜索 Tomcat 包名 apt-cache search tomcat
,这里用 tomcat8
,安装 Tomcat # apt-get -y install tomcat8
,# dpkg -L tomcat8
查询 tomcat8 安装路径vim
搜索 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 的支持安全
# mysql_secure_installation
,按照向导进行配置便可,可是安装完成后默认是能够无需密码登陆的,更改一下# mysql
进入 MariaDB 的回显,换库 > USE mysql;
,替换默认的 unix_socket 插件(或者直接置空''也能够) > UPDATE `user` SET `plugin` = 'mysql_native_password' WHERE `User` = 'root';
,刷新权限 > FLUSH PRIVILEGES;
,退出 > exit
添加域名解析,阿里云控制台域名列表,选择解析,添加记录,记录类型为 A
,主机记录为 @
以解析主域名,解析线路默认便可,记录值为 ECS 的 IP 地址,TTL 10 分钟便可,按需添加其余解析记录
申请 SSL 证书,点击所有产品,安全,SSL 证书,购买证书,Symantec,免费型 DV SSL,选择一个域名,购买,而后返回证书控制台,点击 SSL 证书的申请,证书绑定域名输入一级域名便可,域名验证方式为自动 DNS 验证,CSR 生成方式为系统生成,下一步,验证,提交审核,等待验证完成
~/seliote.com.pfx
,切换到 Tomcat 配置目录 # cd /etc/tomcat8/
,建立一个存储证书的文件夹 # mkdir cert
,证书复制过去 # cp ~/seliote.com.pfx cert/
,编辑 Tomcat 的配置 # vim server.xml
,添加一个端口为 8443 的 Connector
节点,这里使用的协议是 Http11NioProtocol
,其余两种协议 Http11Protocol
与 Http11AprProtocol
前者性能太差,后者较难配置,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}" />
# 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>
# systemctl restart tomcat8
# 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,此次直接就能够访问了