日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

.net Core 生产环境 KestrelServer + Shell 实践

發(fā)布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .net Core 生产环境 KestrelServer + Shell 实践 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、背景描述 原項目部署在windwos 服務器下的windwos 服務程序。?

2、現(xiàn)已經(jīng)改版為Linux Centos 下的服務程序。?

?

環(huán)境說明:

服務器系統(tǒng):CentOS 7.0+

相關工具:Xshel、Xftp

服務器軟件軟件:.netcore、

?

1.安裝 CentOS

測試環(huán)境自行安裝,生產(chǎn)環(huán)境公司運維團隊準備。

2.安裝 .net Core SDK For Centos7

這里想必網(wǎng)上已經(jīng)爛大街 了。

參考:https://www.microsoft.com/net/core#linuxredhat

選擇指定的系統(tǒng):這里選擇Centos

提前使用windwos 開發(fā)好的程序。給予.net Core 1.1

下面幾種方法:

方案1:

1.jexus+ KestrelServer?

JexusJexus Jexus Web Server,簡稱JWS,是Linux平臺上的一款ASP.NET WEB服務器,是 Linux、Unix、FreeBSD 等非Windows系統(tǒng)架設 ASP.NET WEB 服務器的核心程序,是企業(yè)級ASP.NET跨平臺部署的一種可選方案。與其它WEB服務器相比,Jexus不但具有跨平臺ASP.NET服務器這樣的標志性特征,同時還擁有內(nèi)核級的安全監(jiān)控、入侵檢測、URL重寫、無文件路由等一系列重要功能和專有特性

KestrelServer?:Kestrel是一個基于libuv的跨平臺ASP.NET Core web服務器libuv是一個跨平臺的異步I/O庫。ASP.NET Core模板項目使用Kestrel作為默認的web服務器.?

?

?

因為這里是準對發(fā)布Windwos 服務的改造程序。所以這里也是一個類似與服務程序的程序。

?

1、安裝jexus

?這里參考官網(wǎng) https://www.jexus.org/?

2.安裝完成我們發(fā)布程序,在對應的目錄下創(chuàng)建屬于自己的文件夾。

?

這里對應相關已經(jīng)全部安裝好.如圖所示,因為公司對這里要求比較嚴格這里就不貼過多圖。

?上傳程序到

3.配置jexus 配置文件。

4.這里懷著慢慢的激情運行Jexus的命令。查看進程結(jié)果沒有任何反應.

a)?這里的問題就不說了,因為Jexus需要root權(quán)限,因為公司分配的權(quán)限沒有root權(quán)限。對root權(quán)限限制比較嚴重。這里也和Jexus 的大牛宇內(nèi)流云 溝通最終因為權(quán)限問題放棄使用 Jexus(因為Jexus這里必須使用Root權(quán)限)

?

方案2:?

  • KestrelServer?+ Linux Shell編程模式

  • ?

    1.Shell腳本:?

    1.

    ??

    2.Start.sh ?程序?qū)⒁獑诱{(diào)用 Start.sh腳本:

    ?

    #!/bin/sh

    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

    export PATH

    source /home/baseuser/.bash_profile

    nohup dotnet /home/baseuser/www/XX.XX.Service/XX.XX.Service.dll >nohup.out 2>&1 &

    ?

      

    2.Stop.sh 程序?qū)⒁V箷r調(diào)用Stop.sh?



    #!/bin/bash echo "begain kill server !" ps -ef| grep XXX| grep - v "grep" | awk '{print "kill "$2}' |sh sleep 2 processnum=` ps -ef| grep XXX| grep - v "grep" | wc -l` if [ $processnum - eq 0 ] ???? then ???? echo "kill Success !" else ???? echo "kill Failed !" exit Fi

    ?  

    3.ServerStatus.sh Linux系統(tǒng)定時器定時檢查腳本。

    ?


    #!/bin/sh PATH= /usr/local/sbin : /usr/local/bin : /usr/sbin : /usr/bin : /sbin : /bin export PATH source /home/baseuser/ .bash_profile echo 'look for server statu...' >>server_status.log processnum=` ps -ef| grep XXX| grep dotnet| wc -l` echo $processnum >>server_status.log if [ $processnum - eq 0 ] ???? then ???? echo 'server is shut down ...begain start server...' >>server_status.log ???? echo "`source /home/baseuser/www/XXX.XXX.Service/start.sh`" ???? echo 'server is starting' >>server_status.log else ???? echo 'server is normal...' >>server_status.log exit fi

    ?  

    4 配置系統(tǒng)定時器:crontab -e

    ?

    1 * /1 * * * *? cd /home/baseuser/www/XXX .XXX.Service && . /serverstatus .sh 2>&1

    查看相關進程:

    或者這是,你可以自己殺掉 程序進程,程序自己會重啟。?

    我這里只運行windwos服務程序的改造程序,若想運行Web應用,直接安裝Nginx稍作配置即可。

    原文地址:http://www.cnblogs.com/gongzhe/articles/6953556.html


    .NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結(jié)

    以上是生活随笔為你收集整理的.net Core 生产环境 KestrelServer + Shell 实践的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。