91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何部署Mono開發環境

發布時間:2021-12-28 09:16:30 來源:億速云 閱讀:248 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關如何部署Mono開發環境,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

部署Mono開發環境的具體步驟如下:

1、下載Mono并上傳到騰訊的服務器上。

騰訊的服務器是沒有配置dns解析功能的,所以不能直接用yast2來通過更新源來升級Mono;對于可以用yast2安裝的,可以參考我的《在openSUSE中部署基于apache的Mono環境》。而用rpm手工安裝,太多的程序依賴處理起來很麻煩,只好用通過編譯Mono源碼的方式來安裝了。

在這里可以下載到Mono的源碼,我們只需要Mono-2.8.tar.bz2/xsp-2.8.tar.bz2/mod_Mono-2.8.tar.bz2。Mono-2.8.tar.bz2當然是Mono的核心了,xsp-2.8.tar.bz2是一個輕量級的web服務器,而mod_Mono-2.8.tar.bz2是apache的模塊,使用這個來解析.net開發的網站。

上傳文件到騰訊的服務器需要分2部走,首先用rz -be把文件上傳到騰訊的跳板機,然后再用scp命令把文件傳到目標服務器。

2、安裝Mono-2.8.tar.bz2。

切換到Mono-2.8.bar.bz2的目錄,執行

tar xf Mono-2.8.tar.bz2

解壓Mono源碼包。之后再

cd Mono-2.8

進入解壓出來的文件夾后,執行配置命令,這里都使用默認配置,如果使用–prefix指定目錄的話,需要修改很多配置,操作起來非常麻煩。

./configure

之后就是最常規的

make

進入漫長的編譯過程。中間過程如果出錯,根據它的提示安裝相當的文件。然后直接進行安裝。

make install

到這里,Mono就安裝完成了。這步非常簡單。我走的彎路是騰訊要求要把軟件都安裝到/usr/local/services/目錄,而Mono指定安裝目錄后,需要設置系統變量及在后面的軟件安裝過程都要顯式的指定Mono目錄,一直都沒有折騰好,***只好使用默認安裝,結果一次就好了。

3、安裝xsp-2.8.tar.bz2。

一樣解壓文件并執行configure,

123 tar xf xsp-2.8.tar.bz2cd xsp-2.8./configure

到這里一直都是正確的,但是執行

make

的時候,就不能進行下去了。會有這樣一個提示:

Your sqlite3 version is old – please upgrade to at least v3.5.0!

Unhandled Exception:System.EntryPointNotFoundException: sqlite3_next_stmt

…….

提示這個錯誤是因為linux本身的sqlite3版本號不夠,默認的是3.1.3。你要么升級sqlite要么修改xsp的文件。查看xsp的安裝文件發現是在編譯xsp的demo文件時產生的錯誤。在$XSP_PATH/test/1.1/webcontrols目錄下有dbpage1.aspx/dbpage1.sqlite/dbpage2.aspx/dbpage2.sqlite/dbpage_test_setup.cs這幾個文件,錯誤就是在編譯這些文件的時候產生的。于是我修改了這個目錄下的Makefile/Makefile.am/Makefile.in這三個文件,把和sqlite有關的都刪除掉了。

分別編輯這三個文件,找到:

samples_Data =

把這個值的

dbpage1.aspx\  dbpage2.aspx\

把這兩個刪掉,還有:

sqlitedir = $(pkglibdir)/test/1.1/webcontrols  sqlite_DATA = dbpage.sqlite \   dbpage2.sqlite   samplesbindir = ....  samplesbin_SCRIPTS = ...  dbpage_test_setup_build = ...  EXTRA_Dist = $(sqlite_DATA) ...  all: all-am

這些都刪掉。在頁面的底部還有:

1234 dbpage_test_setup.exe :$(dbpage_test_setup_build)....# ...... 一直到 ......dbpage2.sqlite: dbpage_test_setup.exe    $(RUNTIME) dbpage_test_setup.exe

全部都需要刪掉。三個頁面都執行這樣的刪除操作。刪除完后,再make,就能成功編譯了。完了再

make install

安裝Mono最麻煩的問題就是這里編譯出錯。網上查這個編譯錯誤,貌似很多人都有遇到,但是又都沒有說怎么解決。期間我還嘗試升級sqlite3,可是沒有升級成功。***一個文件一個文件打開來看,才發現Makefile文件的秘密。主要是***次折騰linux系統,所以多走了很多彎路。

4、安裝mod_Mono-2.8.tar.bz2。

安裝這個也沒有遇到什么問題,主要是如果你的apache文件不是安裝在默認目錄的,需要在configure命令時指定apache的bin目錄。

5、都安裝好后,剩下的就是配置apache了。

編輯$APACHE_PATH/conf/httpd.conf文件,增加一個配置:

#Mono module  Include conf/mod_Mono.conf

安裝mod_Mono之后,這個mod_Mono.cnf是自動生成的,和apache的httpd.conf在相同的目錄。

對于網站的配置,Mono的官方網站有一個mod_Mono的配置生成工具,建議使用里面的Virtual Host的方式來生成配置文件。它能幫我們生成這樣的配置文件:

<VirtualHost *:80>    ServerName mono.moozi.net    ServerAdmin moozi@moozi.net    DocumentRoot /srv/www/mono.moozi.net    # MonoServerPath can be changed to specify which version of ASP.NET is hosted    # mod-mono-server1 = ASP.NET 1.1 / mod-mono-server2 = ASP.NET 2.0    # For SUSE Linux Enterprise Mono Extension, uncomment the line below:    # MonoServerPath mono.moozi.net "/opt/novell/mono/bin/mod-mono-server2"    # For Mono on openSUSE, uncomment the line below instead:    MonoServerPath mono.moozi.net "/usr/bin/mod-mono-server2"     # To obtain line numbers in stack traces you need to do two things:    # 1) Enable Debug code generation in your page by using the Debug="true"    #    page directive, or by setting <compilation debug="true" /> in the    #    application's Web.config    # 2) Uncomment the MonoDebug true directive below to enable mod_mono debugging    MonoDebug mono.moozi.net true      # The MONO_IOMAP environment variable can be configured to provide platform abstraction    # for file access in Linux.  Valid values for MONO_IOMAP are:    #    case    #    drive    #    all    # Uncomment the line below to alter file access behavior for the configured application    MonoSetEnv mono.moozi.net MONO_IOMAP=all     #    # Additional environtment variables can be set for this server instance using    # the MonoSetEnv directive.  MonoSetEnv takes a string of 'name=value' pairs    # separated by semicolons.  For instance, to enable platform abstraction *and*    # use Mono's old regular expression interpreter (which is slower, but has a  # shorter setup time), uncomment the line below instead:    # MonoSetEnv mono.moozi.net MONO_IOMAP=all;MONO_OLD_RX=1      MonoApplications mono.moozi.net "/:/srv/www/mono.moozi.net"    <Location "/">      Allow from all      Order allow,deny      MonoSetServerAlias mono.moozi.net      SetHandler mono    </Location> </VirtualHost>

為了提高apache的處理性能,我們需要對這個配置再做一些修改,***的配置如下:

<VirtualHost *:80>    ServerName mono.moozi.net    ServerAdmin mono@moozi.net    DocumentRoot /srv/www/mono.moozi.net/      MonoServerPath mono.moozi.net "/usr/local/bin/mod-mono-server4" #這里我用.net 4.0    MonoDebug mono.moozi.net true    MonoSetEnv mono.moozi.net MONO_IOMAP=all       MonoApplications mono.moozi.net  "/:/srv/www/mono.moozi.net/"    <Location "/">      Allow from all      Order allow,deny      MonoSetServerAlias mono.moozi.net      SetHandler mono    </Location>    <Location ~ "^/(styles|scripts|images)/">      SetHandler default-handler    </Location>    <Location ~ "^/[^/]+\.(txt|html|ico|js|css|jpg|jpeg|gif|png)">      SetHandler default-handler    </Location> </VirtualHost>

這里我們增加了兩個<Location />配置節,讓靜態資源文件使用apache的默認handler處理。

***,重啟apache就好了。

關于“如何部署Mono開發環境”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥东县| 舟曲县| 阜宁县| 潮州市| 宣恩县| 河东区| 米脂县| 工布江达县| 文成县| 富川| 广南县| 定南县| 科尔| 兰西县| 郑州市| 同仁县| 南和县| 肥城市| 增城市| 遵义市| 涞水县| 安国市| 临猗县| 沈丘县| 临沭县| 远安县| 济南市| 应城市| 河南省| 阳原县| 隆德县| 龙陵县| 余姚市| 历史| 水富县| 南通市| 林甸县| 务川| 阳山县| 和静县| 阜南县|