網站首頁 編程語言 正文
安裝 Linux DotNet 環境
安裝 dotnet 環境參見官方網站 https://www.microsoft.com/net/core。
新建一個 WebApp 項目,并發布
在 Asp.Net Core 項目中,我們使用 dotnet new -t WebApp
命令和創建一個新的空的 Web 應用程序,然后使用dotnet resotre
還原 Nuget。
主要是用以下幾個命令:
mkdir HelloWebApp
這個命令是創建一個名為 HelloWebApp 的文件夾。
dotnet new -t Web
這個命令是使用 Web 模板來新建一個 WebApp 的 Mvc 應用程序。
新建了應用程序之后,使用dotnet restore
和 dotnet run
命令來測試一下我們的應用程序。
我們打開瀏覽器輸入 http://localhost:5000,來看一下效果。
可以看到已經成功運行了。
如果發布應用程序,我們需要使用 dotnet publish
命令,通過使用 --help
參數可以看到一些可以使用的命令參數。
-f|--framework <FRAMEWORK> Target framework to compile for -r|--runtime <RUNTIME_IDENTIFIER> Target runtime to publish for -b|--build-base-path <OUTPUT_DIR> Directory in which to place temporary outputs -o|--output <OUTPUT_PATH> Path in which to publish the app --version-suffix <VERSION_SUFFIX> Defines what `*` should be replaced with in version field in project.json -c|--configuration <CONFIGURATION> Configuration under which to build --native-subdirectory Temporary mechanism to include subdirectories from native assets of dependency packages in output --no-build Do not build projects before publishing
我們運行dotnet publish -o ~/WorkSpace/publish
發布到 publish 文件夾,當看到Published 1/1 projects successfully
的時候,說明已經發布成功了。
PS: 如果提示沒有安裝 NPM 工具,運行
sudo install apt-get npm -g
,先安裝 NPM。如果提示沒有 bower 管理工具,使用
sudo npm install bower -g
安裝 bower。如果提示沒有 gulp 構建工具,使用
sudo npm install gulp -g
安裝 gulp。如安裝過程中無響應,請科學上網后再安裝。
發布之后 publish 文件夾里面的子文件夾有必要說明一下。
appsettiong.json 應用程序的配置文件 refs 應用程序引用的.net fx系統程序集 runtimes 運行時環境,可以看到里面的文件夾包含 win7、linxu,mac os 等,說明我們這個應用程序是跨平臺的。 views 這個文件夾存放的就是我們的 mvc 的視圖文件。 wwwroot 文件夾,存放的是前端使用的 js 庫,css 樣式表,和圖片等。
然后使用dotnet HelloWebApp.dll
測試發布過后的程序是否運行正常。
使用 Jexus 進行反向代理
- Jexus 介紹
- 安裝 Jexus
- 配置 Jexus
- 注意事項
Jexus 介紹
Jexus 是一款國產的,運行在 Linux 上的 Web 服務器。 具體介紹我就直接放鏈接了。
安裝 Jexus
在命令行窗口中,使用以下命令來安裝一個綠色版的 jexus(無需另行安裝 Mono)。
cd /tmp wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz tar -zxvf jexus-5.8.1-x64.tar.gz sudo mv jexus /usr sudo rm -rf /tmp/jexus*
使用以下命令來啟動 jexus
cd /usr/jexus sudo ./jws start
打開瀏覽器輸入http://localhost 如果看到下面這個異常界面,代表運行成功了。
配置 Jexus
有兩種方式可以在 Jexus 上訪問我們的 Web 應用程序。 即端口轉發和反向代理的方式,下面是兩種方式的配置方法。
- 1、** 端口轉發 **
端口轉發,即把 Jexus 配置的端口直接轉發到我們的 asp.net 程序中,即轉發到 Kestrel 去處理。
- 2、** 反向代理 **
反向代理,即把我們應用程序的一部分路徑交給 Jexus 去處理,比如靜態文件,圖片等。另外一部分動態的交給Kertrel 來處理。這樣可以降低我們的后端 Kertrel 的壓力。
還有一個很重要的優勢就是 Web 中的緩存,會在代理服務器這一步來處理。
至于怎么樣添加代理服務器可以識別到的緩存,可以關注我后面發表的博客文章。
按照上述方式安裝完 Jexus 之后,配置文件路徑在 /usr/jexus/siteconf/default
文件中。
切換工作目錄到/usr/jexus/siteconf/
,使用sudo gedit default
命令打開 default 文件。
修改內容為如下:
port=80 # Jexus 默認訪問的工作目錄 root=/ /home/yxd/Workspace/publish # 下面這種方式是反向代理。我設置的路徑是"/"即根目錄,大家可以根據 # 需要設置為非靜態的路徑 reproxy=/ http://localhost:5000/ # 下面這種方式是使用端口轉發 AppHost.Port=5000 # 注意: 以上兩種方式配置一種即可。
保存并退出。 然后使用sudo ./jws restart
命令來重啟一下。
然后我們打開瀏覽器 輸入http://localhost,發現此時已經通過 jexus 來訪問我們的站點了。
注意事項
- 1、在使用 jexus 代理訪問站點的時候, 保持命令
dotnet run HelloWebApp.dll
的命令行窗口必須開啟。 - 2、可以使用下面的命令來讓一個命令行運行在后臺進程中。
nohup dotnet HelloWebApp.dll &
這個時候你就可以把命令行窗口關掉了。
原文鏈接:https://www.cnblogs.com/savorboard/p/dot-net-linux-jexus.html
相關推薦
- 2022-11-05 Nginx監控模塊(vts模塊)詳解_nginx
- 2022-07-29 Linux磁盤管理方法介紹_linux shell
- 2023-01-28 詳解如何利用C#實現漢字轉拼音功能_C#教程
- 2022-11-18 flutter?showModalBottomSheet常用屬性及說明_Android
- 2023-01-11 Pytorch可視化(顯示圖片)及格式轉換問題_python
- 2022-09-25 Clion配置STM32開發環境printf函數打印浮點數快速設置方法
- 2022-08-25 C/C++內存管理基礎與面試_C 語言
- 2023-06-16 GO語言中通道和sync包的使用教程分享_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支