在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
很早就看过关于net core部署在Linux上的文章,自己也曾亲自将项目部署在Linux上,今天看到这篇文章,为其格式之工整而转! 1.环境准备网上看了一下,Linux云服务器还挺贵的,那就只好先用VMware虚拟机搭建个吧。这里我选装的Linux系统版本的是CentOS,Linux系统众多发行版之一,相信各位园友也不陌生。 软件版本信息如下: 虚拟机安装、系统镜像配置过程,大家参考网上教程应该没啥问题,我这不再赘述。 成功安装并登陆CentOS 7 Minimal系统后,发现无法上网,后来搜索找到原因:CentOS 7 Minimal 默认没有启动网络配置。 接下来就通过
将 最后,需要重启一下网络服务。命令如下:
目前应该可以上网了,可以尝试用命令 如上图,可以接收响应,证明网络畅通。反之,证明你的网络还是不通,就需要考虑其他原因了。 暂时还没有安装VMware Tools,直接在虚拟机中编(复)写(制)命令多有不便,这里可以通过连接工具PuTTY在Window系统中连接虚拟机中的CentOS系统,连接服务器也同样适用。 软件截图: 选择SSH连接协议,输入CentOS系统IP地址,点击【Open】按钮连接。输入系统用户名密码即可登录系统。 问:怎么知道虚拟机中CentOS系统的IP地址呢? 答:可以通过 2.安装.NET Core SDKLinux各个发行版如何安装.NET Core SDK,微软官方已经给出了标准答案,我这里就把在CentOS上的安装方法做一个简要说明。 Step1:安装dotnet产品提要 要开始安装.NET,您需要注册Microsoft签名密钥并添加Microsoft产品提要。每台机器只需要做一次。 打开命令提示符并运行以下命令:
Step2:安装.NET SDK 更新可用于安装的产品,安装.NET所需的组件,然后安装.NET SDK。
两步即可完成.NET Core SDK在CentOS7系统下的安装,最后可执行一下命令
3.部署ASP.NET Core应用程序下面就尝试把我用ASP.NET Core Web API 开发的一个接口网站部署到我们已经安装.NET SDK的CentOS系统(下文简称服务器)中。 程序发布过程省略,把编译后的程序发布到了本地 然后借助FTP工具FileZilla把程序文件传输到服务器 上传截图: 上传完毕后,需要先通过
如果在任意非站点根目录,通过下面这种方式直接运行,程序会抛异常,不知是程序原因还是其他原因。
如果你可以看到如下界面则表示程序启动成功。 4.Nginx配置反向代理Nginx是一个高性能的Web服务器软件。这是一个比Apache HTTP Server更加灵活和轻量级的程序。 我们的网站程序启动的端口是 4.1.安装Nginx首先,我们需要在服务器上安装Nginx。 Step1:添加Nginx存储库 要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令:
Step2:安装Nginx 现在Nginx存储库已经安装在您的服务器上,请使用以下
Step3:启动Nginx Nginx不会自行启动。要运行Nginx,请输入:
如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:
此时,可以在本机的浏览器中访问服务器的IP地址 如果能看到Nginx的默认转发网页则说明一切正常。如下截图:
如果拒绝访问,考虑服务器
4.2.设置Nginx开机启动避免开机需要手动开启Nginx,可以通过如下快捷命令把Nginx配置成系统服务,并设置为开机启动:
其他命令:
4.3.修改Nginx配置文件首先,拿到Nginx的默认配置文件 然后,我们新建一个配置文件
保存并上传到Nginx的配置加载目录 在本地浏览器上访问服务器地址,运行结果如下: 这个问题是由于SELinux保护机制所导致,我们需要将Nginx添加至SELinux的白名单。执行命令:
再次访问,运行结果如下: 可以看到,访问的接口成功返回数据,证明Nginx已经完成对我们部署应用程序的转发。 5.Supervisor配置守护进程Supervisor是用Python开发的Linux/Unix系统下的一个进程管理工具。它可以使进程脱离终端,变为后台守护进程(daemon)。实时监控进程状态,异常退出时能自动重启。 Supervisor不支持任何版本的Window系统;仅支持在Python2.4或更高版本,但不能在任何版本的Python 3下工作。 其主要组成部分: supervisord:Supervisor的守护进程服务,用于接收进程管理命令; supervisorctl:Supervisor命令行工具,用于和守护进程通信,发送管理进程的指令; Web Server:Web端进程管理工具,提供与supervisorctl类似功能,管理进程; XML-RPC Interface:提供XML-RPC接口,请参阅XML-RPC API文档。 5.1.安装Supervisor联网状态下,官方推荐首选安装方法是使用
请更换
5.2.配置Supervisor运行
所以,先通过如下命令创建目录,以便让Supervisor成功加载默认配置:
加载目录有了,然后通过
打开 尾部找到如下文本片段:
改为:
即,把注释去除、设置 这样,Supervisor会自动加载该目录下 创建进程配置加载目录:
接下来就需要为我们已经部署的ASP .NET Core程序的宿主进程创建一个进程配置文件 配置文件
启动Supervisor服务,命令如下:
这时,在会发现我们部署的网站程序不在shell中通过 5.3.设置Supervisor开机启动首先为Supervisor新建一个启动服务脚本 脚本内容如下:
设置开启启动:
验证是否成功:
如果输出
5.4.Supervisorctl管理进程Supervisor服务启动后,受其管理的进程会在后台运行。可以通过 输入如下命令进入
输入
输入
如何启动、停止、重启进程等命令,我这里就不在记录,大家自行查找吧。 除此之外,Supervisor还提供了Web管理界面用来管理进程,如何配置启动请参考官方文档。 至此,我们已经完成了ASP.NET Core应用程序在CentOS7服务器上的部署。 6.相关阅读【转】:http://www.cnblogs.com/esofar/p/8043792.html |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论