如何在centos7中部署Net6.0程序?

如何在centos7中部署Net6.0程序?,第1张

1.首先在linux中安装Net6.0运行时,安装5.0只需要降6.0替换为5.0

添加仓储指令

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

执行安装命令:

a.如果不需要在linux上编译源码

sudo yum install dotnet-runtime-6.0

b.如果需要在linux上编译源码

sudo yum install dotnet-sdk-6.0

c.如果是有webapi接口或者网页

sudo install aspnetcore-runtime-6.0

安装完成后输入指令

dotnet --info 查看是否安装正确

2.发布net6.0程序

a.直接vs上面右键项目发布,选择文件夹发布,然后一路下一步。

b.上一步是生成了发布配置文件,此时界面会出现一个发布按钮,点击后才是真正发布

3.将2发布的文件全部复制到linux目录/home/dotnetuser/下。

此处我是创建了一个dotnetuser用户,然后自动生成的dotnetuser文件夹,其实不用创建用户也可以。

创建用户指令

sudo useradd -s /sbin/nologin dotnetuser

删除用户指令-r参数表示删除相关联的文件夹等

sudo userdel -r dotnetuser

4.测试一下程序是否能够运行,假设我们的程序名称为 DEmo.dll

进入/home/dotnetuser/

cd /home/dotnetuser/

输入指令(注意大小写,linux大小写敏感,此处我故意使用了DEmo)

dotnet DEmo.dll

运行正常就可以进行下一步,配置守护程序。

5.使用systemd守护程序,保证每次系统启动自动启动服务

在目录/home/dotnetuser/(不一定非得此目录)下创建文件demoService

文件内容如下

[Unit]

Description=demoservice

[Service]

ExecStart=dotnet /home/dotnetuser/DEmo.dll

ExecStart=/home/dotnetuser/

User=dotnetuser

Group=dotnetuser

Restart=on-failure

SyslogIdentifier=demoservice

PrivateTmp=true

[Install]

WantedBy=multi-user.target

此处特别注意:

在net5.0中这样就行:ExecStart=dotnet /home/dotnetuser/DEmo.dll

在net6.0中得输入全路径:ExecStart=/usr/share/dotnet/dotnet /home/dotnetuser/DEmo.dll

ExecStart=  ExecStart= User= Group=这几项根据实际情况填写

在demoService文件所在同一目录(此处是/home/dotnetuser/)输入指令完成配置

systemctl enable /home/dotnetuser/demoService

6.查看程序是否运行正常active绿色正常,其他未正常运行

查看服务状态指令

systemctl status demoService

7.其他指令

停止服务指令

systemctl stop demoService

开始服务指令

systemctl start demoService

Microsoft Visual Studio(以下简称VS)程序发布分很多种。

1、Windows服务

用VS写一个Windows服务,直接去bin>debug文件夹下复制exe文件。

2、网站项目、Web窗体、MVC

1.右击要发布的程序,点击发布。

2.发布配置:

配置文件,点击配置输入项目名称

连接,选择发布方法,一般是系统文件(FTP需要配置),选择目标位置。

设置,配置选择你程序的配置,程序是Debug的就选择Debug。发布选项可以选“在发布前删除所有现有文件”。

3.完成发布。

拓展:运行Windows服务程序

1、运行CMD

2、电脑64位复制cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319粘贴运行

3、InstallUtil  "E:\DiscountExpireRemind.exe"(安装)

  InstallUtil  /u "E:\DiscountExpireRemind.exe"(卸载)

5、任务管理器运行服务

其他程序的发布本人没有涉及,就不再发表意见。

IIS发布流程

1、查看网站属性——文档

看看启用默认文档中是否存在:index.aspindex.htmindex.html(最好全都有,没有可添加)

2、查看网站属性——主目录

A、本地路径是否指定正确

B、是否勾选“脚本资源访问”?

C、是否勾选“读取”?

D、执行权限:纯脚本

3、查看网站属性——目录安全性——编辑

A、是否勾选“匿名访问”?

B、用户名:IUSR_您的计算机名(不对,就点浏览选择)

C、密码不用改,勾选“允许IIS控制密码”就可以了

D、其它不用选

4、查看网站属性——网站

A、IP地址:全部未分配或者选择一个

B、TCP端口:80(最好不要改,改了访问方法就不一)

5、打开控制面板——管理工具——计算机管理——本地用户和组——用户

A、看看“IUSR_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)

B、看看“IWAM_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)

C、在“IWAM_您的计算机名”该用户上按右键——设置密码(密码要记住,后面还需要用上该密码)

6、打开控制面板——管理工具——组件服务——组件服务——计算机——我的电脑——COM+应用程序

A、在“IISOut-Of-ProcessPooledApplications”上按右键选择‘属性’——选择‘标识’,指定用户:IWAM_您计算机名(说明:可以点浏览查找);输入密码,密码上面步骤的密码。再次启动该服务,启动后它会动。

B、在“IISIn-ProcessApplications”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉

C、

在“IISUtilities”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉。

最后,就是测试了.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7941889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存