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

打印 上一主题 下一主题

主题 1013|帖子 1013|积分 3039

最近腾讯云轻量服务器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
  1. server {
  2.      #SSL 默认访问端口号为 443
  3.      listen 443 ssl;
  4.      #请填写绑定证书的域名 改为自己的域名
  5.      server_name cloud.tencent.com;
  6.      #请填写证书文件的相对路径或绝对路径 证书文件路径
  7.      ssl_certificate cloud.tencent.com_bundle.crt;
  8.      #请填写私钥文件的相对路径或绝对路径 私钥的路径
  9.      ssl_certificate_key cloud.tencent.com.key;
  10.      ssl_session_timeout 5m;
  11.      #请按照以下协议配置
  12.      ssl_protocols TLSv1.2 TLSv1.3;
  13.      #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
  14.      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
  15.      ssl_prefer_server_ciphers on;
  16.    
  17.     #到此结束-----以上为ssl配置
  18.     #请求地址导航
  19.      location / {
  20.          #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
  21.          #例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
  22.          root html;
  23.          index  index.html index.htm;
  24.      }
  25. }
复制代码
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各种版本,运行时版本都有
  1. sudo apt-get update && \
  2.   sudo apt-get install -y dotnet-sdk-8.0
复制代码
上面是安装sdk,下面是安装runtime
  1. sudo apt-get update && \
  2.   sudo apt-get install -y aspnetcore-runtime-8.0
复制代码
末了 dotnet --info 查看安装情况, 如果是安装在其他系统,微软官方都有文档,慢慢找就是了
步调跑起来

步调先发布,然后上传到服务器,然后先运行一波 dotnet 你的步调名.dll,没啥题目就写个service
教程更多了 :
好比整个 sudo nano /etc/systemd/system/myapp.service
  1. [Unit]
  2. Description=WebAPI On Linux                                                               #此处表示描述
  3. [Service]
  4. # 程序目录
  5. WorkingDirectory=/var/www/myapp
  6. # /var/www/myapp/myapp.dll 改为程序路径地址
  7. ExecStart=/usr/bin/dotnet /var/www/myapp/myapp.dll  
  8. Restart=always                                                                                      #是否重启
  9. # Restart service after 10 seconds if the dotnet service crashes:
  10. RestartSec=10                                                                                      #监听时间
  11. KillSignal=SIGINT                                                                                 #Kill信号
  12. SyslogIdentifier=dotnet-example                                                          #系统日志表击
  13. # ubuntu好像默认禁止root登录,可以自己整个用户,或者使用当前的用户
  14. User=root   
  15. Environment=ASPNETCORE_ENVIRONMENT=Production
  16. [Install]
  17. WantedBy=multi-user.targe
复制代码
然后 运行sudo systemctl start myapp.service 状态active就是没题目,否则看报什么错误吧
总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

知者何南

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表