Linux Centos上部署ASP.NET網站


隨着客戶的角度,本該在Windows下的IIS部署方式 已經不能滿足客戶的需求了,想要CentOS上部署ASP.NET網站,以下是在CentOS教學或部署流程
文章如果段落排版錯誤可以多刷新幾次,目前不知道為啥MD文檔這種格式會出現不太原本的樣子...

注意

1.如怕毀壞數據或應用(ps aux 查看進程判斷是否為空機)建議及時做好備份,創建服務器快照 - 服務器供應商控制台
2.剛進系統時建議優先開啟防火牆並添加:1433(數據庫)、80(網站默認)、21(FTP) 22(SSH),添加好防火牆記得重啟防火牆
3.Linux是區分大小寫的,所以請求的 ashx 或者 aspx 或者 jpg、png 等程序的路徑內必須也是和文件一樣,不然訪問會出錯
4.include代碼在Windows下是以站點目錄為根目錄("/")的 , 在Linux下需要使用 "../" 這樣來寫 , 否則會直接在系統根路徑去找 , 造成訪問出錯

服務器要求

1.centos系統

1.內存2G以上

2.操作者(部署者)必須是root權限

安裝必要程序

Jexus [ 強勁、堅固、免費、易用的國產 WEB 服務器系統 - 官網:https://www.jexus.org/ ]

SQLServer for Linux [ MSSQL Server 數據庫 - 官網:https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-overview?view=sql-server-ver15 ]

安裝操作流程

  1. Linux 先安裝wget

    • yum -y install wget
  2. Linux 先更新升級命令:

    • yum –y update

如果到這yum還用不了,請嘗試更換yum源[閱讀:https://blog.csdn.net/qq_37259023/article/details/82962180]
根據上方的文章連curl都使用不了那在本地下載好 然后在本地使用 SFTP over SSH 傳至:/etc/yum.repos.d/ 並命名:CentOS-Base.repo [ 使用curl顯示 - TCP connection reset by peer,直接懷疑下面這條吧 ]
如還不行請聯系網管是否對服務器有限制 特別是針對不是在阿里雲等大型平台購買的服務器 [ 這個坑了我半天,因為有些服務器網絡有問題 ]

  1. 先安裝 SQLServer:

    • sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo [ 下載SQLServer鏡像 ]

    • yum install -y mssql-server [ 下載資源 waiting complete...]

    • sudo /opt/mssql/bin/mssql-conf setup [ 運行SQLServer安裝程序 ]

    • systemctl status mssql-server [ 安裝完之后,查看是否正在運行 SQLServer,如果在運行,到這一步MSSQL的安裝就結束了 ]

    • systemctl enable mssql-server [ 加入開機啟動 ]

    • systemctl start firewalld.service [ 開啟防火牆,以下操作都是操作開啟遠程連接 ]

    • sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent [ 如果需要開啟遠程連接,添加防火牆端口 ]

    • sudo firewall-cmd --reload [ 更新防火牆規則 ]

運行完成SQLServer安裝程序會顯示幾個選項:
Choose an edition of SQL Server [ 這里一般沒啥要求選擇 3 ,Express (free) 版本就好 ]
Do you accept the license terms? [Yes/No] [ 選擇 Yes 即可 ]
Enter the SQL Server system administrator password [ 輸入密碼,受Linux保護這里按了鍵盤可能會不顯示值 要是第一次不知道按了哪個鍵 第二次確認密碼就故意輸入錯重新運行安裝吧~ ]
注意:
如果配置了還不可以連接,在服務器供應商-控制面板平台設置安全策略->1433端口開放情況下可關閉防火牆進行再進行測試連接

  1. 安裝 jexus:

    • cd /tmp [ 切換到:temp 目錄 ]

    • wget https://www.linuxdot.net/down/jexus-6.1-x64.tar.gz [ 使用wget進行下載 jexus-6.1 包 waiting complete... ]

    • tar -zxvf jexus-6.1-x64.tar.gz [ 解壓,需要注意下載版本然后對應的修改 ]

    • sudo mv jexus /usr [ 移動目錄 ]

    • sudo rm -rf /tmp/jexus* [ 清理tmp下的jexus ]

    • cd /usr/jexus/ [ 切換到安裝目錄下 ]

    • yum -y install autoconf automake bison cairo-devel freetype-devel gcc gcc-c++ gettext giflib-devel glib2-devel make libexif-devel libjpeg-devel libpng-devel libtiff-devel libtool [ 安裝必要的庫 ]

wget下載前可自行通往Jexus官網獲得最新的版本
jexus-6.1 是自帶MoNo程序的,所以無需要單獨安裝MoNo
cd到jexus安裝目錄下使用ls命令語法進行查看文件
jexus安裝完的目錄下的 siteconf 文件夾里面的就是網站配置文件,里面jexus會有一個默認的 default 配置文件,可用於復制新網站,主要:port root hosts,可以使用vi查看配置,結構很簡單,具體解釋還是去官網了解吧~
據我使用,好像siteconf下有幾個文件就對應着幾個網站
貼一下重要的語法[ 一定要回到安裝的目錄下執行才生效除非使用 sudo ]:
./jws stop 停止jexus
./jws restart 重啟jexus
./jws start 啟動jexus
以上的jexus命令操作都可對單獨的網站使用,具體的命令還是去官網了解吧~

  1. 測試 jexus(上面的命令已完成安裝jexus):

    • cd / [ 回到根目錄 ]
    • cd var [ 進入:var ]
    • mkdir www [ 創建目錄並使用cd進入 www ]
    • mkdir default [ 再創建default目錄,再找個簡單的index.html傳入進來進行測試 ]
    • cd /usr/jexus/siteconf/ [ 回到jexus目錄下並進入:siteconf 網站配置目錄 ]
    • vi default [ 查看文件並修改,按下FN+Insert,修改目錄為: root: / /var/www/default/ ,再保存--按下ESC -- 再按下Shift+:--輸入wq!進行保存(如果修改錯了輸入q!重新來)]
    • cd ../ [ 回到jexus根目錄 ]
    • ./jws start [ 啟動jexus網站或者使用-重啟jexus ]
    • curl localhost [ 訪問本地的網站 ]

如果有正確的返回一些HTML源碼[非包含錯誤信息]那就說明可以跑jexus了
可多寫一些非HTML文件進行測試jexus,比如傳:aspx 文件,看是否可以正常解析

最后:如果測試正常就可以使用FTP將ZIP傳至服務器內[/var/www/***/],然后先在服務器安裝解壓工具[ yum install unzip ],進行解壓文件[ unzip *.zip ]

特別鳴謝

貼身技術指導:Evan - 鏈接
文章網友幫助:褪色的記憶1982 - 鏈接
文章網友幫助:Allen0910 - 鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM