關于公司服務器的部署和搭建

服務器的獲取

首先部署項目新翎,需要獲得一個可以長久穩(wěn)定運行的服務器裸违,可以在阿里云、騰訊云等獲取读拆,具體不做贅述汉形,本次的服務器部署纸镊,是在阿里云上進行的。

運行環(huán)境的準備

一概疆、數(shù)據(jù)庫

在一個空白的服務器上部署項目逗威,需要搭建相關的運行環(huán)境,要是數(shù)據(jù)庫也在同一臺服務器上岔冀,則也需要搭建服務器凯旭,這邊使用的是MySQL數(shù)據(jù)庫,具體搭建教程在網(wǎng)絡上都有教程使套,這里不多做陳述罐呼。

二、后端的運行環(huán)境

由于后臺項目代碼是通過.net來編寫的侦高,所以在安裝.net的相關運行時環(huán)境嫉柴,這邊安裝的是.Net Desktop Runtime 6的,相關鏈接:https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-desktop-6.0.28-windows-x64-installer
下載后在服務器直接安裝即可(注:下載時請選擇合適自己項目的版本奉呛,其他版本鏈接:https://dotnet.microsoft.com/zh-cn/download/dotnet

三计螺、前端的運行環(huán)境

前端運行環(huán)境是使用的nginx期奔,這邊使用的是nginx 1.18.0的版本
官方的下載地址,尋找自己需要的版本:https://nginx.org/en/download.html

后端文件打包和運行

打開Visual Studio危尿,找到自己需要發(fā)布的文件呐萌,點擊發(fā)布,發(fā)布到指定的文件路徑即可


發(fā)布步驟

如果需要改變發(fā)布路徑谊娇,點擊“顯示所有設置”


變更路徑

發(fā)布完畢后肺孤,到發(fā)布所在的目錄,將其打包济欢,然后移動至服務器中

服務器中解壓后赠堵,點擊Configurations文件夾,修改其中的ConnectionStrings.json文件法褥,把連接的數(shù)據(jù)庫替換成需要連接的數(shù)據(jù)庫


修改連接的表名和數(shù)據(jù)庫

然后在Configurations文件夾的父級文件中茫叭,在文件路徑一欄,輸入cmd半等,然后回車


輸入cmd

出現(xiàn)命令窗口后揍愁,輸入"C:\Program Files\dotnet\dotnet.exe" JNPF.API.Entry.dll --urls=http://*:58001
修改端口僅需修改最后的58001即可

前端的打包和運行

打開Visual Studio Code,打開項目所在的項目文件夾杀饵,在終端窗口中莽囤,運行npm build或者pnpm build,將項目打包切距;完成后朽缎,在項目路徑中,會出現(xiàn)一個“dist”的文件夾


dist文件夾

將整個文件夾打成壓縮包谜悟,上傳至服務器中话肖,在服務器中解壓
在服務器中,找到或者移入nginx 1.18.0程序的壓縮包葡幸,解壓后最筒,點擊conf文件夾,修改其中的nginx.conf文件


nginx.conf文件

點擊進去礼患,在http的里面添加 include web/*.conf; 保存是钥,退出;
include web/*.conf;

然后在該目錄中增加一個web文件夾缅叠,創(chuàng)建一個.conf文件悄泥,點擊編輯(注:下面的配置僅筆者使用的,不一定適用所有情況肤粱,需要更據(jù)實際情況來配置)

server {
        listen       3500; #你自己的端口
        server_name  localhost; #你端口的前綴弹囚,更據(jù)你自己的需求改變
        index index.html index.htm;
        root D:\work\mhwz\front\dist; #上面在服務器中解壓出的dist的路徑

  #JNPF-Start

    #設置上傳文件的大小
  client_max_body_size 100m;
  
  #添加頭部信息
  proxy_set_header Cookie $http_cookie;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  
  #請求頭總長度大于128k時使用large_client_header_buffers設置的緩存區(qū)
  client_header_buffer_size 128k;

  #指令參數(shù)4為個數(shù),128k為大小领曼,默認是8k鸥鹉。申請4個128k蛮穿。
  large_client_header_buffers 4 128k;
  
  #指定允許跨域的方法,*代表所有
  add_header Access-Control-Allow-Methods 'GET,PUT,POST,DELETE,OPTIONS';
  
  # 預檢命令的緩存毁渗,如果不緩存每次會發(fā)送兩次請求
  add_header Access-Control-Max-Age 3600;
  
  #帶cookie請求需要加上這個字段践磅,并設置為true
  add_header Access-Control-Allow-Credentials true;
  
  #   表示允許這個域跨域調(diào)用(客戶端發(fā)送請求的域名和端口) 
  #   $http_origin動態(tài)獲取請求客戶端請求的域   不用*的原因是帶cookie的請求不支持*號
  add_header Access-Control-Allow-Origin $http_origin;
  #   表示請求頭的字段 動態(tài)獲取
  add_header Access-Control-Allow-Headers $http_access_control_request_headers;
  
  
  # 前端主項目偽靜態(tài)
  location / {
    try_files $uri $uri/ /index.html;
  }
  
  # 大屏偽靜態(tài)
  location /DataV {
    try_files $uri $uri/ /DataV/index.html;
  }
  
  # 報表偽靜態(tài)
  location /Report/icons/{     
    try_files $uri $uri/ /Report/icons/;
  }
  
  # 后端接口
  location /api/ {
    proxy_pass http://localhost:5000;
  }
  
  # websocket
  location /websocket {
    proxy_pass http://localhost:5000/api/message/websocket;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 600s;
  }
  
  # 數(shù)據(jù)報表接口配置
  location /ReportServer/ {
    proxy_pass http://localhost:30007/;
  }
  
  # 文件預覽服務
  location /FileServer {
    proxy_pass http://localhost:30090;
  }
  
  # 解決文件預覽服務無法加載js,css問題
  location ~ /FileServer/*.*\.(js|css)?$ {
        proxy_pass http://localhost:30090;
  }
  #JNPF-End 

    }

保存后,來到nginx的目錄文件灸异,點擊nginx.exe運行前端


nginx.exe

打開任務管理府适,在進程中找到兩個nginx.exe進程,即啟動成功


進程

輸入上面配置的地址和端口

相關問題和建議

1.進入登陸頁面肺樟,后臺報錯缺少yitidgengo.dll文件

在登錄頁檐春,提示報錯,然后再后端的命令窗口中提示缺少yitidgengo.dll文件么伯,到你后端的項目根目錄中尋找文件
路徑是 你的項目位置\back\src\application\JNPF.API.Entry\lib\regworkerid_lib_v1.3.1
然后將lib文件夾復制到服務器的后端目錄中

2.關于創(chuàng)建啟動后端的startup.bat文件

在服務器后端的目錄中疟暖,創(chuàng)建一個新建文本,將后綴改為.bat田柔,后編輯俐巴,將"C:\Program Files\dotnet\dotnet.exe" JNPF.API.Entry.dll --urls=http://*:58001輸入;之后即可在cmd直接啟動startup.bat凯楔,也方便下面將后端作為服務啟動

3.創(chuàng)建服務

需要下載nssm工具窜骄,官網(wǎng)地址:www.nssm.cc

nssm是一個服務封裝程序, 它可以將普通exe程序封裝成服務,實現(xiàn)開機自啟動摆屯,同類型的工具還有微軟自己的srvany,不過nssm更加簡單易用,并且功能強大糠亩。
它的特點如下:
●支持普通exe程序(控制臺程序或者帶界面的Windows程序都可以)
●安裝簡單虐骑,修改方便
●可以自動守護封裝了的服務,程序掛掉了后可以自動重啟
下載地址:https://nssm.cc/download

解壓后選擇win64的即可


解壓后

將里面的nssm.exe復制到需要創(chuàng)建服務的文件夾赎线,并創(chuàng)建兩個bat文件廷没,分別是nssm_install.bat和nssm_uninstall.bat


bat文件

nssm_install.bat中內(nèi)容是 nssm install 你要創(chuàng)建的服務名稱


nssm_install.bat

nssm_uninstall.bat中內(nèi)容是 nssm remove 你要刪除的服務名稱


nssm_uninstall.bat

創(chuàng)建完成后,雙擊nssm_install.bat垂寥,會出現(xiàn)nssm的service install 窗口


service install

1.Application Path: 選擇系統(tǒng)安裝的exe或bat颠黎。
2.Startup directory: 選擇exe或bat項目的根目錄。
3.Arguments: 輸入啟動參數(shù)滞项。
4.Service name:服務名稱
點擊Install service即可完成服務安裝


完成服務的安裝

服務
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狭归,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子文判,更是在濱河造成了極大的恐慌过椎,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戏仓,死亡現(xiàn)場離奇詭異疚宇,居然都是意外死亡亡鼠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門敷待,熙熙樓的掌柜王于貴愁眉苦臉地迎上來间涵,“玉大人,你說我怎么就攤上這事榜揖』牒瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵根盒,是天一觀的道長钳幅。 經(jīng)常有香客問我,道長炎滞,這世上最難降的妖魔是什么敢艰? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮册赛,結果婚禮上钠导,老公的妹妹穿的比我還像新娘。我一直安慰自己森瘪,他們只是感情好牡属,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著扼睬,像睡著了一般逮栅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窗宇,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天措伐,我揣著相機與錄音,去河邊找鬼军俊。 笑死侥加,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的粪躬。 我是一名探鬼主播担败,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼镰官!你這毒婦竟也來了提前?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤朋魔,失蹤者是張志新(化名)和其女友劉穎岖研,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡孙援,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年害淤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拓售。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡窥摄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出础淤,到底是詐尸還是另有隱情崭放,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布鸽凶,位于F島的核電站币砂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玻侥。R本人自食惡果不足惜决摧,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凑兰。 院中可真熱鬧掌桩,春花似錦、人聲如沸姑食。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽音半。三九已至则拷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間祟剔,已是汗流浹背隔躲。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留物延,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓仅父,卻偏偏與公主長得像叛薯,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笙纤,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容