问题描述
- 一个web项目,如何提供给外网使用?
-
如题:我用spring+mybatis+mysql写了一个web的项目,如何提供给外网使用,
已经申请好域名和空间。
只是不知道步骤,
1.怎么将自己的web项目发布到外网?
2.数据库怎么连接?
3.如何启动服务器?PS:小白一个,有太多不明白的地方,还请大神概括下基本的步骤。
解决方案
最好是再租用一个云服务器。用自己的PC作为服务器有如下问题:
(1)天朝和谐了80端口,所以必须换端口,地址上拖上一个端口号,而且搜索引擎也不待见
(2)家庭宽带上行带宽有限,所以架设的网站流量稍大就会很卡。
(3)家庭宽带没有固定的公网ip,所以需要不断的换ip,改 dns 解析,虽然有花生壳那样的动态解析,但是无法保证稳定性
(4)不经济,一天24小时开着,花费电费、网费、占用场地、自己维护还有硬件本身,这样算下来花费比云服务器贵得多。
解决方案二:
这主要看你已经申请的空间提供的是什么服务了?
如果只是提供静态文件服务那是不够的,这种只能部署包含静态HTML页面的Web站点;
如果你申请的是Java Web容器,那么你只需要将你的Java站点提交上去就可以,服务提供上应该会提供服务器启停的方法。像这种提供容器的PaaS服务一般也会提供数据库服务(可能是单收费的),有些服务商会提供通用客户端的连接方式,有些可能只提供专用客户端或Web界面连接和查询数据库。但是有一点是肯定的,同一个PaaS运营商提供的容器肯定可以访问其提供的数据库服务。代码中可在mybatis中配置数据库连接;
如果你申请的空间是虚拟操作系统,那么你需要在上面安装Java Web服务,如Tomcat、Jetty、Jboos等,还需要安装数据库。如果是个人玩的话,建议使用轻量级的Tomcat和免费的MySQL。还要注意的一点就是一定要把防火墙的相关端口打开,不然服务启动了也不能通过互联网访问。
下面回答你的几个问题:
1. 服务商提供的空间不论是上面提到的哪种,一般都是外网的,也就是互联网可访问的;
2. 数据库连接要看服务商提供的是上面说的哪种服务了,数据库可用MySQL的客户端连接,也可通过JDBC连接;
3. 服务商提供的如果是PaaS服务,他同样会提供启停方法;如果是IaaS服务,你需要登录到系统中去自己启动,这个你可参考下Windows或Linux下Tomcat/Jboos/Jetty和MySQL的启动命令。
解决方案三:
空间+域名+数据库 这些都要有,不过你租了空间,应该人家就给你了数据库、你自己问问他们客服
解决方案四:
说个简单的例子,我们的web项目在我们自己机子上运行起来后,我们通过在浏览器中输入127.0.0.1:8080/项目名称来访问,也可以通过本机ip:8080/项目名称来访问。
同一个局域网下别的机器可以输入我的本机ip:8080/项目名来访问我的web项目。
现在知道了我的电脑是内网可以访问到的,所以其它同在内网下的机器可以通过这样的方式来访问我的web项目。
那么,如果假设我的电脑可以被外网的电脑访问,他们就能访问到我的web项目,所以现在的主要问题是如何让运行我的web项目的服务器被外网访问到。
外网想访问内网的服务器,外网是通过路由器上网的。
做端口映射,直接登录到路由器就可以设置,具体操作,找一下买路由器时包装盒中的说明书。
一般像tp-link路由器,直接http://192.168.1.1,输用户名密码admin/admin登上去,到转发规则里添加端口映射就行了,规则就是,内网服务器地址:服务器需要映射的端口 --> 外网地址:外网端口。
我们常常租用的网络服务器,本身人家就是设置好联网的,我们只需要把编译后的web项目放到服务器指定的目录下,就可以通过域名直接访问到租用的网络服务器上运行的web项目。服务器上回给我们提供好web项目运行环境,就像我们的tomcat服务器,我们的项目一般是放在tomcat安装目录的webapps目录下。