2、右击网站名称Test,在菜单中选择“编辑绑定”
3、这时打开部署网站绑定窗口,可以看到网站绑定的端口号,右侧的“编辑”按钮是灰色的,是不可用的
4、点击如下图记录就选中了记录,这时右侧的“编辑”按钮就是可用的了
5、点击按钮“编辑”,在打开的窗口中配置新的端口号,再点击确定按钮完成更改
6、这时回到之前的窗口,可以看到端口号已经更新了
Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。
1、环境:阿里云服务器
2、CentOS7系统
3、Docker成功部署
这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
通过 -p 参数来设置一样的端口:
docker ps 查看正在运行的容器
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
这时我们可以通过浏览器访问WEB应用
访问失败
指定外网端口为5000,
1. 本地测试能否打开测试页
本地没有问题。
2. 浏览器中访问
在任意一台电脑上输入公网IP+端口号 (此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123.11.11.11 此时在任意一台有网络的浏览器地址栏输入公网IP:http://123.11.11.11:5000 应该会出现测试页
但现在出现如下图所示:
显示打不开
查啦大量资料,以前曾经也解决过,一定弄明白自已购买的地区后,再去设置安全组的配置规则。
***1. 登录阿里云管理控制台****
2.找到云服务器ECS-概览
3. 点击云服务器ECS,这个是我购买的类型,其他类型的就不清楚啦。
4. 点击本安全组后,再次点击配置规则:
5. 手动添加端口5000
6. 最后保存,再从浏览器地址栏输入公网IP加端口号3344成功显示测试页如图:
方法/步骤
创建一个解决方案,添加3个类库项目,1个ASP.NET MVC4项目,如下图所示:
MainWeb项目时一个空的MVC项目,没有模型、控制器和视图,如下图所示:
解决方案中的其他两个项目是类库项目,与一般的类库不同的是,FirstArea和SecondArea需要依赖System.Web和ASP.NET MVC,前者在.NET框架程序集中引用,后者可以通过NuGet安装,如下图所示:
类库FirstArea和SecondArea项目中各自有一个控制器,都没有过多的代码。这两个项目代表两个不同的程序员开发的不同的后端服务,如下图代码所示:
FirstArea和SecondArea项目除了控制器以外,还各自都有一个用来注册区域的类,如下图所示:
最后,将FirstArea和SecondArea项目的生成路径全都改成生成到MainWeb的bin目录中。值得注意的是,MainWeb不需要引用FirstArea和SecondArea,只要这样生成到MainWeb的bin目录中,然后将MainWeb部署到IIS上,即可实现集中部署的效果。
我们还需要验证这样的集中部署是否有效,下面我们在MainWeb中开发前端页面。
首先,在MainWeb项目中添加FirstArea和SecondArea区域,注意,如果添加的区域有注册区域的类,是需要删掉的,因为这两个区域的注册类已经在另外两个项目中定义了,如下图所示:
建好区域之后,按照ASP.NET MVC的约定,在Views文件夹中新建与控制器一样名称的文件夹,再新建与Action名称一样的cshtml文件,如下图所示:
View的内容很简单,就是输出在action中赋值的ViewBag,如下图所示:
编译运行,页面显示如下:
11
通过注册区域的方式,不同的程序开发人员就能独立的开发后端的服务,然后把编译好的dll丢到网站的bin目录中,只要在网站中按约定建立好视图,这样后端即实现了服务独立,又能满足集中部署的需求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)