通过域名访问部署在服务器上的javaweb项目

因为对域名访问什么也不了解,遇到问题就有种不知道从哪里下手的茫然,也就更不知道错在哪里,前前后后一共折腾了一天多,最后问了阿里客服才成功弄出来,因此记录一下。

关于服务器的购买、配置,及域名的备案解析可以参考这里。另外要在服务器的安全组配置80端口。
一、端口映射
服务器设备,如果申请域名之后,端口默认指向的为80端口,这里服务是发布在tomcat中,使用的是8080端口,因此需要端口映射,将80端口映射到8080端口。
例: http://127.0.0.1 实际等价于:http://127.0.0.1:80 用的是80端口,因为只有80端口可以省略
又例:http://www.sohu.com/ 实际等价于:www.sohu.com:80

以下是Windows系统中的端口映射方法(Linux系统中可以使用iptables)
端口映射可以使用nginx(需要在服务器安装nginx),也可以使用netsh。

这里用的netsh,netsh是win7以上系统自带的,支持IPv4和IPv6。直接cmd,在命令行配置

//添加端口映射
netsh interface portproxy add v4tov4 listenaddress=121.21.36.190 listenport=81 connectaddress=192.168.99.10 connectport=81
//将服务器IP地址为121.21.36.190的端口81映射到服务器IP地址为192.168.99.10的端口8080.现在访问121.21.36.190:81,实际是跟访问192.168.99.10:8080效果一样

//查看已配置的端口映射清单
netsh interface portproxy show v4tov4

//删除端口映射
netsh interface portproxy delete v4tov4 listenaddress=121.21.36.190 listenport=81

这里遇到的一个问题,端口映射用的ip地址是服务器内网ip,而不是服务器公网ip。配置如图

后来发现好像不用端口映射也可以,直接把Tomcat的端口改成80就好了

<Connector port="8080" protocol="HTTP/1.1"
            connectionTimeout="20000"
            redirectPort="8443" />

直接把port="8080"改为port="80"就可以了。

二、配置Tomcat

打开tomcat/conf/server.conf文件
1. 修改为域名。这里要改两个地方,如图


2. 配置docBase。在<Host></Host>里面添加<Context>。path="" docBase=项目在服务器上的绝对路径。这里项目名称为SpringDemo,如图

配置好的server.conf如下:

    
    <Engine name="Catalina" defaultHost="www.***.top">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="www.***.top"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      
      <Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\SpringDemo" path="" reloadable="true"/>

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>

 保存server.conf文件,重启Tomcat,就可以通过域名访问部署在服务器上的网站了。3w可以带,也可以不带。如图

三、http转https

已经通过备案的域名,在域名中点击“SSL证书”,进入证书控制台,对已签发的证书进行管理,填写审核信息,提交后几分钟就审批下来了,然后下载对应服务器的证书,我用的Tomcat。
然后根据提示信息进行安装。这里注意要在server.xml中把8443改成443。另外:阿里云SSL数字证书Tomcat配置部署指导视频:https://help.aliyun.com/video_detail/54217.html?spm=5176.2020520163.cas.144.36be2b7aWIOL8z
另外在安全组规则配置443端口,如果防火墙没关的话,在入栈规则配置443端口。
这里遇到一个问题,我是晚上配置的https,但配好之后一直不能通过https访问,结果等第二天早上再试居然https可以访问了,难道需要一段等待时间?..

参考:
windows下端口映射 
Tomcat配置域名 

转载于:https://www.cnblogs.com/zeroingToOne/p/9013278.html

### 回答1: 阿里云ECS(Elastic Compute Service)服务器部署Java Web项目的整个流程如下: 1. 购买阿里云ECS服务器:首先,需要在阿里云官网购买一个ECS服务器。选择适合的配置和操作系统(如CentOS、Ubuntu等),并确保服务器已经成功启动。 2. 连接到ECS服务器:使用SSH(Secure Shell)工具,如Putty等,通过服务器的公网IP地址和默认的22端口,连接到ECS服务器。 3. 安装Java开发环境:在ECS服务器上安装Java开发环境,包括JDK(Java Development Kit)和JRE(Java Runtime Environment)。可以通过命令行方式或者下载安装包方式进行安装。 4. 配置服务器环境:根据需要,可以安装并配置容器化技术如Docker,以及服务器软件如Tomcat、Nginx等,用于部署和运行Java Web项目。 5. 上传项目文件:将Java Web项目的相关文件(如WAR包或者源代码)上传到ECS服务器。可以使用FTP(File Transfer Protocol)工具,如FileZilla等,将文件上传到服务器的指定目录。 6. 构建和部署项目:在ECS服务器上使用命令行工具,进入项目文件所在的目录,使用Maven或者Gradle等构建工具,运行构建命令,编译、打包Java Web项目。 7. 配置项目运行环境:根据项目要求,可能需要修改配置文件,如数据库连接信息、缓存配置等。可以使用文本编辑器或者命令行工具进行修改。 8. 启动项目:使用命令行工具,运行Java Web项目的启动命令,如启动Tomcat容器。可以查看启动日志,确认项目是否成功启动。 9. 监控和管理项目:使用阿里云的应用监控工具或者第三方工具,对Java Web项目进行监控和管理,如查看应用的性能指标、错误日志和访问日志等。 10. 绑定域名配置SSL证书(可选):如果需要通过域名访问Java Web项目,可以在阿里云的域名服务中,将域名解析到ECS服务器的公网IP地址,并配置SSL证书,实现HTTPS访问。 总结起来,阿里云ECS服务器部署Java Web项目的流程包括购买服务器、连接服务器、安装Java开发环境、配置服务器环境、上传项目文件、构建和部署项目配置项目运行环境、启动项目、监控和管理项目,以及绑定域名配置SSL证书(可选)。 ### 回答2: 阿里云ECS服务器部署JavaWeb项目的整个流程如下: 1. 登录阿里云官网,购买一台ECS服务器,选择合适的配置和系统镜像。 2. 在云服务器ECS的控制台上,找到已购买的服务器实例,并记录下服务器实例的公网IP地址。 3. 在本地开发环境,将JavaWeb项目打包成war文件。 4. 使用FTP工具(如FileZilla)将war文件上传到ECS服务器。连接ECS服务器的方法为使用用户名和密码连接到服务器实例的公网IP。 5. 在ECS服务器上安装Java运行环境,执行以下命令: ``` yum update -y # 更新系统 yum install java-1.8.0-openjdk-devel -y # 安装Java环境 ``` 6. 配置ECS服务器的防火墙规则,允许对应的端口访问。通常JavaWeb项目使用的是8080端口,可以在ECS的安全组中开放对应的端口。 7. 在ECS服务器上启动Tomcat服务器,执行以下命令: ``` cd /usr/local # 进入Tomcat安装目录 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz # 下载Tomcat tar -zxvf apache-tomcat-9.0.52.tar.gz # 解压Tomcat cd apache-tomcat-9.0.52/bin # 进入Tomcat的bin目录 ./startup.sh # 启动Tomcat ``` 8. 在浏览器中输入ECS服务器的公网IP地址和Tomcat使用的端口号,例如:http://公网IP:8080/,即可访问部署好的JavaWeb项目。 以上就是阿里云ECS服务器部署JavaWeb项目的整个流程。当然,根据具体的项目和需求,可能会涉及到其他配置和操作,例如数据库的连接、SSL证书的安装等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值