关于阿里云服务器配置过程中各种问题的记录:

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端口,浏览器就不用输入端口号了。