百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

在Centos 8 上 部署 .Net Core 应用程序

off999 2025-04-07 17:31 8 浏览 0 评论

1、更新dnf 源

1 dnf update

2、安装 Asp.Net Core 运行时

1 dnf install aspnetcore-runtime-3.1

2.1、验证是否安装成功

1 dotnet --info

出现如上图所示就说明安装成功

3、安装Nginx

dnf -y install nginx

3.1、查看nginx版本

nginx -v

3.2、设置开机自启动

1 systemctl enable nginx

3.3、启动 nginx 服务

service nginx start

3.4、其他 相关 指令

# 卸载
dnf remove nginx
# 停止 服务
service nginx stop
# 重启
service nginx restart
# 加载配置文件
service nginx reload

4、MySql 安装

4.1、下载

 wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm

4.2、使用rpm 安装 mysql

 rpm -ivh mysql80-community-release-el8-1.noarch.rpm

4.3、dnf 安装 mysql 服务

dnf -y install mysql-server

4.4、设置开机自启动

systemctl enable mysqld.service

4.5、启动mysql

systemctl start mysqld.service

4.6、设置远程连接(可选)

因我是在某云上,所以需要设置我本地连接,如果是在自己虚拟器可跳过此步骤

4.6.1、进入 mysql 命令行

4.6.2、更新 系统表(user)

update mysql.user set host="%" where user="root";


4.6.3、设置 root 密码

-- 切换数据库
use mysql;
-- 执行语句
ALTER  USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';
-- 刷新修改后的权限
flush privileges;
-- 退出
exit;


4.6.4、测试


5、将应用程序发布后的包上传

5.1、创建文件夹(用于存放应用程序包)

mkdir -p /var/www/web

5.2、ftp 上传应用程序文件到 上一步创建的文件夹(/var/www/web/)中

6、Redis 安装(可选)

如果项目中没有用到 Redis 可以跳过此步骤

6.1、下载、解压、编译

 wget http://download.redis.io/releases/redis-6.0.6.tar.gz
 tar xzf redis-6.0.6.tar.gz
 cd redis-6.0.6
 dnf install tcl
 make

6.2、编译测试

make test

6.3、迁移到指定的目录(可选)

mkdir -p /usr/local/soft/redis
cd /usr/local/soft/redis/
mkdir bin
mkdir conf
cd bin/
cp /redis-6.0.6/src/redis-cli ./
cp /redis-6.0.6/src/redis-server ./
cd ../conf/
cp /redis-6.0.6/redis.conf ./
# 配置 redis-server 的 配置文件为 /usr/local/soft/conf/redis.conf
/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.conf
# 检查端口是否在使用
netstat -anp | grep 6379


6.4、使用 systemd 方式守护 redis 进程

6.4.1、编辑 redis.service 文件

vim /lib/systemd/system/redis.service

6.4.2、设置redis.service 内容

[Unit]Description=RedisAfter=network.target
[Service]Type=forkingPIDFile=/var/run/redis_6379.pidExecStart=/usr/local/soft/redis/bin/redis-server /usr/local/soft/redis/conf/redis.confExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true
[Install]WantedBy=multi-user.target

6.4.3、重载系统

systemctl daemon-reload

6.4.4、设置开机启动及其他指令

# 开机自启
systemctl enable redis
# 启动
systemctl start redis
# 查看状态
systemctl status redis
# 停止
systemctl stop redis

7、配置.Net Core 应用程序的守护进程

7.1、编辑 aspnetCore.service 文件

文件名 自定义,这里我起名为 aspnetCore.service

vim /lib/systemd/system/aspnetCore.service

7.2、编辑内容

[Unit]
Description=AspnetCoreDemo running on Centos8 

[Service]# 应用程序所在的文件目录
WorkingDirectory=/var/www/web/
ExecStart=/usr/bin/dotnet /var/www/web/Carefree.AspNetCoreDemo.dll
Restart=always
# 如果dotnet服务崩溃,10秒后重新启动服务
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=AspNetCoreDemo
User=root
#Production:生产环境 Development:开发环境
Environment=ASPNETCORE_ENVIRONMENT=Development 
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

7.3、重载系统及设置开机启动

# 重载系统
systemctl daemon-reload
# 开机自启动
systemctl enable aspnetCore.service 

8、Nginx 代理

8.1、编辑配置文件

vim /etc/nginx/conf.d/web.conf

8.2、编辑内容

server
{
   listen       80;
   location /
   {
           proxy_pass http://localhost:5000;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection keep-alive;
           proxy_set_header Host $host;
           proxy_cache_bypass $http_upgrade;
           proxy_set_header   X-Forwarded-For
                   proxy_add_x_forwarded_for;
           proxy_set_header   X-Forwarded-Proto $scheme;
   }
}

8.3、编辑 nginx.conf 文件


8.4、验证配置文件是否正确及加载配置文件

# 验证配置文件
nginx -t
# 加载配置文件
nginx -s reload

至此我们的应用程序可正常访问了。如有何问题可与我联系,共同学习。

相关推荐

Python 数据分析——利用Pandas进行分组统计

话说天下大势,分久必合,合久必分。数据分析也是如此,我们经常要对数据进行分组与聚合,以对不同组的数据进行深入解读。本章将介绍如何利用Pandas中的GroupBy操作函数来完成数据的分组、聚合以及统计...

python数据分析:介绍pandas库的数据类型Series和DataFrame

安装pandaspipinstallpandas-ihttps://mirrors.aliyun.com/pypi/simple/使用pandas直接导入即可importpandasas...

使用DataFrame计算两列的总和和最大值_[python]

【如果对您有用,请关注并转发,谢谢~~】最近在处理气象类相关数据的空间计算,在做综合性计算的时候,DataFrame针对每列的统计求和、最大值等较为方便,对某行的两列或多列数据进行求和与最大值等的简便...

8-Python内置函数

Python提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

Python中函数式编程函数: reduce()函数

Python中的reduce()函数是一个强大的工具,它通过连续地将指定的函数应用于序列(如列表)来对序列(如列表)执行累积操作。它是functools模块的一部分,这意味着您需要在使用它之...

万万没想到,除了香农计划,Python3.11竟还有这么多性能提升

众所周知,Python3.11版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!作者:BeshrKay...

最全python3.11版12类75个内置函数大全

获取全部内置函数:importbuiltins#导入模块yc=[]#异常属性nc=[]#不可调用fn=[]#内置函数defll(ty=builtins):...

软件测试笔试题

测试工程师岗位,3-5年,10-14k1.我司有一款产品,类似TeamViewer,向日葵,mstsc,QQ远程控制产品,一个PC客户端产品,请设想一下测试要点。并写出2.写出常用的SQL语句8条,l...

备战各大互联网巨头公司招聘会,最全Python面试大全,共300题

前言众所周知,越是顶尖的互联网公司在面试这一part的要求就越高,需要你有很好的技术功底、项目经验、一份漂亮的简历,当然还有避免不了的笔试过关。对于Python的工程师来说,全面掌握好有关Python...

经典 SQL 数据库笔试题及答案整理

马上又是金三银四啦,有蛮多小伙伴在跳槽找工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近学员反馈上来的一些数据库笔...

用Python开发日常小软件,让生活与工作更高效!附实例代码

引言:Python如何让生活更轻松?在数字化时代,编程早已不是程序员的专属技能。Python凭借其简洁易学的特点,成为普通人提升效率、解决日常问题的得力工具。无论是自动化重复任务、处理数据,还是开发个...

太牛了!102个Python实战项目被我扒到了!建议收藏!

挖到宝了!整整102个Python实战项目合集,从基础语法到高阶应用全覆盖,附完整源码+数据集,手把手带你从代码小白变身实战大神!这波羊毛不薅真的亏到哭!超全项目库,学练一站式搞定这份资...

Python中的并发编程

1.Python对并发编程的支持多线程:threading,利用CPU和IO可以同时执行的原理,让CPU不会干巴巴等待IO完成。多进程:multiprocessing,利用多核CPU...

Python 也有内存泄漏?

1.背景前段时间接手了一个边缘视觉识别的项目,大功能已经开发的差不多了,主要是需要是优化一些性能问题。其中比较突出的内存泄漏的问题,而且不止一处,有些比较有代表性,可以总结一下。为了更好地可视化内存...

python爬虫之多线程threading、多进程、协程aiohttp批量下载图片

一、单线程常规下载常规单线程执行脚本爬取壁纸图片,只爬取一页的图片。importdatetimeimportreimportrequestsfrombs4importBeautifu...

取消回复欢迎 发表评论: