首页 > 系统相关 >Ubuntu24.04部署AspNetCore运行环境记录

Ubuntu24.04部署AspNetCore运行环境记录

时间:2024-11-03 18:45:57浏览次数:1  
标签:service 部署 AspNetCore sudo Ubuntu24.04 ssl myapp dotnet 安装

最近腾讯云轻量服务器centos7.9到期了,续费太贵,于是整了一个ubuntu24.04服务器,来继续折腾,主要是上面部署的前几年写的垃圾小程序,要不然也懒得折腾了。此篇文章就是记录运行环境安装的过程。

安装mysql5.7.44

本来想安装8.0的,直接使用apt安装方便快捷,但是想了想还是使用5.7吧,之前安装的是5.7.26,这次整的就是5.7.44。

首先全网搜安装教程,找到了很多 比如此篇文章

Ubuntu24 二进制包安装mysql5.7

写的很详细,很通透,我补充一点,linux系统下,表名区分大小写,记得在cnf文件补上lower_case_table_names=1 免的报错找不到表,因为区分了大小写

然后远程访问也要记得把防火墙打开,主要指的是腾讯云实例上的防火墙端口,不打开远程是无法访问的。

安装nginx 并配置ssl支持https

安装也很简单,教程一搜全都是 比如:

Ubuntu 源代码编译安装 Nginx

这里由于要支持https,则 需要证书,腾讯云如果买了服务器提供免费的证书,但是由原先的一年变为了三个月,(差评),申请之后下载并配置证书
即比如在nginx.conf里面
附上官方链接,都写挺好了 :https://cloud.tencent.com/document/product/400/35244?from_cn_redirect=1

server {
     #SSL 默认访问端口号为 443
     listen 443 ssl; 
     #请填写绑定证书的域名 改为自己的域名
     server_name cloud.tencent.com; 
     #请填写证书文件的相对路径或绝对路径 证书文件路径
     ssl_certificate cloud.tencent.com_bundle.crt; 
     #请填写私钥文件的相对路径或绝对路径 私钥的路径
     ssl_certificate_key cloud.tencent.com.key; 
     ssl_session_timeout 5m;
     #请按照以下协议配置
     ssl_protocols TLSv1.2 TLSv1.3; 
     #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
     ssl_prefer_server_ciphers on;
   
    #到此结束-----以上为ssl配置 

    #请求地址导航
     location / {
         #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
         #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
         root html; 
         index  index.html index.htm;
     }
 }

ok,上面就是配置文件,至于location配置根据实际情况来,这方面教程更多,比如设置限流,设置缓存,设置静态文件代理,转发请求,因为小程序强制使用https,但是nginx到你真正服务器上可以直接使用http,顺便做负载均衡啥的。

安装aspnetcore运行时

官方教程:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu-install?pivots=os-linux-ubuntu-2404&source=recommendations&tabs=dotnet8 详情请见,ubuntu各种版本,运行时版本都有

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0

上面是安装sdk,下面是安装runtime

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-8.0

最后 dotnet --info 查看安装情况, 如果是安装在其他系统,微软官方都有文档,慢慢找就是了

程序跑起来

程序先发布,然后上传到服务器,然后先运行一波 dotnet 你的程序名.dll,没啥问题就写个service

教程更多了 :

比如整个 sudo nano /etc/systemd/system/myapp.service

[Unit]
Description=WebAPI On Linux                                                               #此处表示描述

[Service]
# 程序目录
WorkingDirectory=/var/www/myapp 
# /var/www/myapp/myapp.dll 改为程序路径地址
ExecStart=/usr/bin/dotnet /var/www/myapp/myapp.dll  
Restart=always                                                                                      #是否重启
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10                                                                                      #监听时间
KillSignal=SIGINT                                                                                 #Kill信号
SyslogIdentifier=dotnet-example                                                          #系统日志表击
# ubuntu好像默认禁止root登录,可以自己整个用户,或者使用当前的用户
User=root   
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.targe

然后 运行sudo systemctl start myapp.service 状态active就是没问题,否则看报什么错误吧

总结

难怪服务能运行就别乱动,迁移真蛋疼,鬼知道之前做了什么配置,随便安装了一下都手忙脚乱,环境迁移了还不行,数据也要跟着迁移过来,感觉这才是核心重点,还有以前的保活用的是supervisor,这次懒得折腾了。姑且做个记录免得之后忘记了

标签:service,部署,AspNetCore,sudo,Ubuntu24.04,ssl,myapp,dotnet,安装
From: https://www.cnblogs.com/guoxiaotian/p/18523751

相关文章

  • helm部署ingress
    Ingress安装首先安装helm管理工具https://helm.sh/docs/intro/install/使用helm安装ingresshttps://kubernetes.github.io/ingress-nginx/deploy/#using-helm添加ingress的helm仓库helmrepoaddingress-nginxhttps://kubernetes.github.io/ingress-nginx下载ingress的......
  • 项目部署重要部分,axios二次封装,API接口统一管理
    5.10axios二次封装目的:1:使用请求拦截器,可以在请求拦截器中处理一些业务(开始进度条、请求头携带公共参数)2:使用响应拦截器,可以在响应拦截器中处理一些业务(进度条结束、简化服务器返回的数据、处理http网络错误)在项目中安装axiospnpmiaxios在src文件下新建util......
  • 大模型部署利器 -- vLLM(别总用着好,不知道他哪好啊)
    标题:面向PagedAttention服务的大型语言模型的高效内存管理1.摘要大型语言模型(LLM)的高吞吐量服务需要一次处理足够多的请求。然而,现有的系统很难做到这一点,因为每个请求的键值缓存(KV缓存)内存都很大,并且动态地增长和收缩。当管理效率低下时,碎片和冗余复制会严重浪费此内......
  • 2,后台部署
    基本流程图确保可通服务器客户端ping服务器外网IP地址安装应用服务通过LAMP,一键安装部署命令生成地址:https:lnmp.org/auto.html(只针对PHP项目部署)安装服务验证检查Apache的服务是否运行sestemctlstatushttpd检查MySQL是否运行sestemctlstatu......
  • springboot基于微信小程序的心血管疾病风险预测小程序(源码+vue+uinapp+部署文档等)
    收藏关注不迷路!!......
  • SpringBoot外语学习系统vvp4z程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称外语学习系统的研发与优化二、研究目的与意义随着全球化的不断深入,外语学习的重要性日益凸显。一个高效、个性化的外语学习系统能够......
  • SpringBoot图书管理信息系统6fh8g程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称图书管理信息系统的开发与应用二、选题意义随着信息技术的飞速发展,图书馆作为知识和信息的集散地,其管理效率和服务水平直接影响到读......
  • SpringBoot图片销售网站e4a32--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着互联网技术的快速发展,图片已成为人们日常生活中不可或缺的元素。无论是社交媒体、广告宣传,还是个人创作,都需要用到大量高质量的图......
  • SpringBoot图书推荐系统07y95(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称图书推荐系统的设计与实现二、研究背景与意义随着大数据和人工智能技术的快速发展,图书资源日益丰富,用户在面对海量图书时往往难以抉......
  • SpringBoot图书电子商务网站的设计与实现pr919程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义随着网络技术和移动支付的普及,越来越多的读者倾向于通过互联网购买书籍,这为图书电子商务网站的发展提供了广阔的市场空间。然而......