天天看點

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

記錄一下Nginx在CentOS8上安裝,Nginx釋出多個站點,以及dotnetCore在CentOS8上安裝 和 部署asp.net core應用程式

  • 為什麼要記錄?
    • 01 CentOs 上安裝 Nginx
    • 02 編輯 nginx.conf 配置多站點
    • 03 安裝 dotnet core
    • 04 上傳釋出的程式,運作托管
    • 如果有人看請不要共計我的小伺服器
    • 傳回:enabled 表示也開啟,disabled 表示已禁用

為什麼要記錄?

為了避免每次操作都忘記了,又要重新去搜搜

目前所有操作使用的是root使用者,(超級管理者)權限

網絡上都有,隻是再照着寫一遍而已

01 CentOs 上安裝 Nginx

安裝步驟

  1. 添加Nginx到YUM源

    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

  2. 安裝Nginx

    yum install -y nginx

  3. 啟動服務

    systemctl start nginx.service

  4. 一下是成功安裝圖:
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  5. 路徑以及需要修改的檔案如下圖:
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  6. 後續操作我都是在紅色 nginx.conf裡操作。其中要說的是對于Nginx,可以有很多種操作。先從了解開始!綠色是自己備份的檔案

    mv nginx.conf nginx.conf.bak

Nginx下centos各種版本

學習于,感謝作者

02 編輯 nginx.conf 配置多站點

vim nginx.conf

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

添加以上紅色區域的2個站點;(這幾個小域名莫攻擊哦,伺服器很很垃圾的)

03 安裝 dotnet core

可以進入微軟文檔學習一波

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

宿主安裝的是SDK版本,一般伺服器上隻跑編譯好的程式隻需安裝

運作時

的版本就會

sudo dnf install dotnet-sdk-3.1

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

運作指令

dotnet --version

能顯示上面的資訊就說明可以了。一般不會出錯,我要是碰到出錯,就重置系統 ………_

04 上傳釋出的程式,運作托管

  1. 宿主随便上傳了2個模闆。到

    /home/www/

    可以自己随便建個檔案夾放好啦,最好還是放到有規律的地方吧!!日後好檢視及維護
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  2. 先運作NotFindObj這個程式
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
    運作

    nohup dotnet NotFindObj.dll

    這個是用到程序保護吧,就可以直接将控制台關閉了如:
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
    ,不是

    Ctrl+c

    結束哦!!!!!!!!!!!!,如果用到

    dotnet NotFindObj.dll

    這個運作程式,控制台一關閉,程式也終止了。

到此就看在浏覽器進行域名通路了如下圖:

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  1. 再運作Smbxfdbz這個程式

    這裡由于 5000的本地端口被上個程式占用了,所有要這樣

    ``

    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

    nohup dotnet Smbxfdbz.dll --urls="http://*:5005"

    這裡跟上面

    nginx.conf

    裡的配置一緻;

    ,效果如下圖:

    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  2. 小結: 這樣的配置,重新開機電腦會沒有了。需要重新配置!!!!!!!

如果有人看請不要共計我的小伺服器

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

==============分割線=

有老哥說,

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

上面的問題,我了解是,他應該沒有把nginx 設定成系統自動啟動 。

其次是不會将 nohup 寫成服務形式,再設定開機啟動

下圖,為我之前配置的,今天重新開機了虛拟機,是沒有問題的。

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

注意:注意⬇的IP,此時沒有運作dotnet 網站

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

======================下面開始示範一遍吧

設定各種服務為開機啟動。 (基本操作說明)

使用 啟用

systemctl enable nginx
           

使用 禁用

systemctl disable nginx
           

推薦使用 指令

檢視服務是否為開機啟動狀态

chkconfig nginx 
           

傳回:enabled 表示也開啟,disabled 表示已禁用

使用如下指令:表示關閉nginx 服務

chkconfig nginx off
           

使用如下指令:表示開啟nginx 服務

chkconfig nginx on
           
Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

----------------------------下面為正式操作内容--------------------------------------------

  1. 進入我們的伺服器(這裡我用的是本地)

    使用

    ssh root @192.168.0.110

    輸入密碼進入自己的伺服器,注意:第一連結需要授權。
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  2. 檢視服務

    netstart -ntlp

    ss -ntlp

    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  3. 找到自己DotNet釋出的檔案夾并進入(可以先忽略我這裡的 nohup.out、startProNet.sh 這2檔案,😎這是我測試寫好的)記住自己的路徑哦
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  4. 使用vim 在自己的項目檔案夾裡建立 startProNet.sh 檔案 (這個名字可以随意起,隻要自己知道就行),在檔案裡寫入,如下
#!/bin/bash
cd /var/www/html/publish/
nohup dotnet VueJSDotnet51.dll
           

上面的意思,我就不說了,這都看不懂就,照着寫吧✍ 😪

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
  1. 儲存退出,在 /etc/init.d/裡 vim出一個 startTest 檔案,(名字可以随便出,隻要自己記得),輸入一下内容
    Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
#!/bin/bash
# chkconfig: 3 88 88
/bin/bash /var/www/html/publish/startProNet.sh >/dev/null 2>/dev/null
           

上面的意思就不多說了,

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

6. 儲存退出後,使用

chmod +x /etc/init.d/startTest

進行授權 看得出這裡我已經操作過了😏

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

7. 添加到chkconfig,開機自啟動

chkconfig --add startTest
           
Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
chkconfig --list startTest
           
Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

8.重新開機

reboot

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?
Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

就能看到啦!!

--------------------- 晚完,下面是廢話----

疑惑1,使用

chkconfig ***

無法看到狀态,使用

systemctl status ***

才能看到狀态

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

疑惑2,好像不能多次操作 /etc/rc.d/init.d/***裡的同一檔案,不然就不生效了,上圖我的名字是‘startNet.server’,最開使用的startTest,操作了2遍,重新開機電腦就還是沒啟動,估計是:我使用 其他什麼指令, chkconfig startTest off ? 還是多執行了 chkconfig --add startTest一遍這個指令?不了了之

Nginx釋出多個站點,以及部署asp.net core為什麼要記錄?

---------------------------------分享一下學習的連結吧,同時感謝各位作者

Linux配置開機自啟動執行腳本的兩種方法

linux開機啟動nohup java背景程序

nohup Execute Commands After You Exit From a Shell Prompt

繼續閱讀