So Easy,


  .NET Core 是微软提供的免费、跨平台和开源的开发框架,可以构建桌面应用程序、移动端应用程序、网络应用程序、物联网应用程序和游戏应用程序等。如果你是 Windows 平台下的 dotnet 开发人员的话,使用 .NET core 可以很轻松就设置好任何 Linux 和类 Unix 操作系统下的开发环境。本文将会逐步带着大家在Linux上部署.NET Core应用程序。

一.环境准备

  • 服务器:阿里云64位CentOS 7.4.1708版本;
  • 客户端:Windows 10;
  • SFTP客户端:FileZilla;用来进行文件传输;
  • SSH工具:Xshell 6;用来在Windows 上远程访问CentOS;

二.在Linux上安装.NET 环境

使用如下命令注册Microsoft需要的依赖环境,该命令类似于Window上的环境变量,它指向了微软的环境源,地址中的对每个系统是不一样,所以我们要斟酌一下的Linux系统是什么,再去拉取。

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb

比如你当时装了.NET Core3.0,但是呢!微软过了几天又出了.NET Core 3.1 ,这个时候就需要更新你这个配给的配置,通过以下命令。

yum update

yum update命令会重新拉取下,随后重新做配置,但你的dotnet sdk不会受任何影响,随后安装dotnet sdk。

yum install dotnet-sdk-3.1

安装完会出现以下截图,随后我们可以通过dotnet--info来判断是否安装成功。

Supervisor ,在安装它之前,我们需要安装Python 包。

yum install python-setuptools

  随后我们在安装Supervisor,执行结果如下图。

easy_install supervisor

mkdir /etc/supervisor

4.2 在supervisor文件夹下新建文件夹conf.d

mkdir /etc/supervisor/conf.d

4.3 生成supervisord.conf 配置文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf

4.4 定位到文件夹下修改配置文件:

cd /etc/supervisor
vim  supervisord.conf

  改变这个路径只是为了能够找到我们的conf.d文件夹中我们自定义的配置文件。conf.d中是我们自己创建的。所以要进行改变。我们在这个文件内容的最下面,可以看到有一个included标签,这个就是我刚才所说的。它默认是这个样子,从内容可以看出是让我们进行修改的。

  修改前的内容如下:

;[include]
;files = relative/directory/*ini

  修改后的内容如下:

[include]
files = conf.d/*.conf

这个时候supervisord的配置已经结束了,那么就剩你的应用程序级别的配置文件了。上述的步骤其实都可以通过FileZilla工具实现,这样更好的去编辑。

4.5 创建应用程序级别配置文件

[program:AspNetCore_Cookie]
command=dotnet AspNetCore_Cookie.dll
directory=/home/publish
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
stderr_logfile=/var/log/HelloWebApp.err.log
stdout_logfile=/var/log/HelloWebApp.out.log

对于上述的配置文件我做了如下解释,当然有错误的话可以纠正,毕竟是根据我对鸟语的理解不是很...emmm

command= 要执行的命令,在.NET Core 应用程序中 我们都是使用dotnet 命令来启动应用程序的
directory= 命令执行的目录 比如你的publish 在某个文件夹  那你就写哪里
environment= 环境变量   ASP.NET Core的环境变量 可能是有的时候需要linux管理员去访问,不过我是root,这个我是不太懂
user= 进程执行的用户身份 这里写的root
stopsignal=INT 这个都没人动  我也不动 emmm
autostart= 是否自动启动 
autorestart= 是否自动重启
startsecs= 自动重启间隔
stderr_logfile= 标准错误日志
stdout_logfile= 标准输出日志

就现在,我们的配置已完毕,如果你是按照上方进行配置的,那么你肯定是没有问题的。

4.6 启动进程守护服务

运行 supervisord -c /etc/supervisor/supervisord.conf 看看是否包报错信息,如果没有则配置成功。随后我们直接启动Supervisord服务。

sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

并且我们查看进程看看我们刚才的应用程序级别配置是否有效。

现在配置一切成功,去打开你的网站吧!,关闭你的XShell 或者 云端在线远程,这个时候再去试着访问你的网站。ok没问题。

相关内容

    暂无相关文章