关于阿里云服务器配置过程中各种问题的记录:
2018/6/18 买了阿里云ces服务器,服务器配置:1 vCPU 1 GB 40g硬盘,center os 6.8 32位,
按流量计费,买了5年费用852元(不包括流量费用)。
同时买了一个.club的域名,首年7块,先买了一年。
1.买完之后先自己电脑(公司电脑),下载 SSH Secure Shell Client远程连接服务器,结果失败:
报:connection closed by remote host... 错误,
上网查询,查看 tail /var/log/secure 显示 Did not receive identification string from x.x.x.x,
用telnet和ping都测试通过。
网上说有可能是局域网问题,但没说具体解决方案,也查不到别的解决方案,提交阿里工单,回复很快,先他们那里远程ssh连接可用。
自己也下载了putty工具连接,还是同样问题
后来找公司信息部,信息部处理了下,就可以了,果然是局域网问题。
2.安装jdk和tomcat,下载系统适用的jdk和tomcat,放到center os 临时目录,并安装,注意自己选定安装目录
2.1安装jdk:
/usr/tmp/soft/ jdk-8u171-linux-i586.tar.gz
配置环境变量
vi /etc/profile
#set java environmet --by lhy
JAVA_HOME=/usr/lhy/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar: Export PATH JAVA_HOME CLASS_PATH
验证:java -version 成功
2.2安装tomcat
tar -zxvf /usr/tmp/soft/apache-tomcat-7.0.88.tar.gz
安装成功,验证:
/usr/lhy/apache-tomcat-7.0.88//bin/startup.sh //启动tomcat
显示如下信息,成功启动
Using CATALINA_BASE: /usr/lhy/apache-tomcat-7.0.88
Using CATALINA_HOME: /usr/lhy/apache-tomcat-7.0.88
Using CATALINA_TMPDIR: /usr/lhy/apache-tomcat-7.0.88/temp
Using JRE_HOME: /usr/lhy/jdk1.8.0_171
Using CLASSPATH: /usr/lhy/apache-tomcat-7.0.88/bin/bootstrap.jar:/usr/lhy/apache-tomcat-7.0.88/bin/tomcat-juli.jar
Tomcat started.
2.3 访问8080端口
远程访问失败,服务器本机测试:curl http://127.0.0.1:8080/ 可以返回html,说明tomcat没问题,
网上搜索为什么远程访问失败:打开阿里云服务器管理控制台->网络和安全->安全组->配置规则->添加安全组规则(克隆比较快,加入8080),刷新后果然可以访问了。(网上还有通过修改防火墙,添加端口号等方法,没有进行测试是否可行。)
2.4 拷贝一个springmvc项目(打成war包,放入tomcat的webapp目录下),并有数据库连接,进行测试,能够访问成功
2.5 域名绑定了服务器ip
ping不通,询问阿里云,说域名需要实名认证,认证完成,域名处于正常状态,可是仍旧ping不通。阿里云回答可能要过1,2天,让1,2天之后在域名解析试一下。
我直接把原来的删掉,重新绑定了下域名,结果可以了,能ping通,且直接用域名访问tomcat工程,也可以。
到此,域名应该算搞定了。
2.6 https
终于到了这一步,虽然早想买阿里云,但是这次是有实际需求要https,终于下决心买了。
在阿里云域名管理系统下点击SSL证书,申请单域免费证书。
进入阿里云服务器管理控制台的SSL证书菜单,里面有申请的证书列表,查看之前申请证书是否处于已签发状态。如果是已签发状态,点击下载,选择对应服务器下载 并按照阿里云的说明文档进行安装即可。
我用的时PFX格式证书,现在tomcat目录下新建cert文件夹,将下载的4个文件全部放到该文件下(我用的是PFX证书,xxx.key,xxx.pem这两个文件不拷入,应该也 没问题)。
tomcat的conf目录下server.xml中加入
<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="/usr/lhy/apache-tomcat-7.0.88/cert/xxx.pfx"
keystoreType="PKCS12"
keystorePass="pfx-password.txt文件中的密码"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC _SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
修改:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> 具体安装步骤:https://help.aliyun.com/video_detail/54217.html?spm=5176.2020520163.cas.48.48ac2b7amPY2am
*将8443改成443端口,这样浏览器访问时就不需要端口号
测试时想把8080端口改成80端口,结果用http访问时,说网站没备案,访问不了,暂时又改回8080端口。不过https的没影响,仍旧能访问。
*为了实现http访问时自动跳转到https访问,需要在
tomcat的conf目录下web.xml中加入
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint> </security-constraint>
https://xxx.域名/应用
到此https配置成功。
Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式
bio:默认,nio:需要将 protocol属性值改为org.apache.coyote.http11.Http11NioProtocol
需要将 protocol属性值改为org.apache.coyote.http11.Http11AprProtocol
从Tomcat 7.0.30版本开始默认apr模式运行,但是我实际看了下,还是bio运行的。
参考:http://www.365mini.com/page/tomcat-connector-mode.htm
之后可以去做一下网站备案,这样就可以使用80端口,浏览器就不用输入端口号了。