摘要:我的服務器安裝的是最新版,上面的代碼貼的是參考文章的原文。換成域名或者服務器,測試結果應該為載入頁面時到服務器的連接被重置。火狐此時測試結果應該為默認頁此時測試結果應該為的默認頁,或者是報出的錯誤。個人認為,避免和混用才是上上策。
環境簡述 本地調試注:本文只是個人研究以及探索的方法,可能不太嚴謹,如果犯了什么專業性的錯誤,還希望各位看官加以指正,謝謝。(′?ω?`)
特別感謝:闊空晴云(每次遇到什么問題都問你真是太麻煩你了 膜拜)
本文由 赤石俊哉 原創撰寫,您可以用于任何的學習交流用途,不得用于任何形式的商業用途。如需轉載請注明原作者的版權信息和來源。
操作系統:Ubuntu Server x64 14.04.1 LTS 參考官方說明
CPU資源:Intel Core i7 3610QM (VirtualBox僅適用一個核心)
MEM資源:512MB DDR3 1600MHz
存儲資源:10Gb 筆記本機械硬盤
操作系統:Ubuntu 14.04 X86
CPU資源:Intel(R) Xeon(R) CPU E31245 @ 3.30GHz (4 cores)
MEM資源:524288 kB (512MB)
存儲資源:20GB SSD
發起HTTP請求之后,先經過Nginx,如果是PHP站點則轉發到Apache2,如果是ASP.NET站點則轉發到Jexus。
參考:在Ubuntu操作系統上安裝mono的具體方法
一、更新系統:sudo apt-get update sudo apt-get upgrade二、構建編譯環境:
sudo apt-get install build-essential sudo apt-get install automake autoconf sudo apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev三、安裝libgdiplus、mono以及編譯環境所需要的其它庫文件
sudo apt-get install libtiff5-dev sudo apt-get install libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev sudo apt-get install libjpeg-dev
注:這一步跟原文不太一樣,我是根據錯誤提示修改了一些。
四、源文件下載與解壓:下載:
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2 wget http://download.mono-project.com/sources/mono/mono-3.0.12.tar.bz2
注:(2015/10/13)最新版為libgdiplus-3.12.tar.gz、mono-4.2.1.60.tar.bz2。
我的服務器安裝的是最新版,上面的代碼貼的是參考文章的原文。
解壓:(改成你下載的對應版本就行了)
tar jvxf libgdiplus-2.10.tar.bz2 tar jvxf mono-3.0.12.tar.bz2 //如果下載的是新版,使用的是gzip(tar.gz),使用下面的命令解壓。 tar zxvf libgdiplus-3.12.tar.gz五、安裝Libgdiplus和Mono: 安裝libgdiplus
cd libgdiplus-3.12 ./configure --prefix=/usr make sudo make install cd ..
遇到問題:gdiplus-private.h:33:31: fatal error: freetype/tttables.h: No such file or directory
參考:Ubuntu Server(Ubuntu 14.04 LTS 64位)安裝libgdiplus2.10.9出錯問題記錄
具體操作如下:
這個錯誤就是說創建/usr/X11/include/freetype鏈接失敗了,因為找不到freetype,但是我們找到了freetype2,這樣我們做個鏈接吧。(用上面參考資料的解決方案發現權限不夠,于是加上了sudo。)
sudo ln -s /usr/include/freetype2 /usr/include/freetype注:原文中提及的/usr/lib64/libglib-2.0.so.0: could not read symbols: Invalid operation問題,由于我并沒有遇到,所以略過,如果遇到這個問題,可以參考上面參考鏈接的解決方法。
遇到問題:No package "cairo" found
參考:Cairo Download
sudo apt-get install libcairo2-dev
cd mono-4.2.1.60 ./configure --prefix=/usr make sudo make install cd ..安裝Jexus
wget http://www.linuxdot.net/down/jexus-5.5.3.tar.gz tar -zxvf jexus-5.5.3.tar.gz cd jexus-5.5.3 sudo ./install
一下就成功了,這次并沒有遇到什么問題,Jexus此時就裝好了。接下來需要為Jexus配置開機啟動,和默認站點。此部分先留到最后。
Apache+PHP的部分就不知道配置過多少回了,這個就沒有那么復雜了。
安裝Apache2sudo apt-get install apache2
打開瀏覽器輸入"服務器地址"測試訪問Apache2的默認頁面,可以看到一個Apache2 Ubuntu Default Page則說明Apache2的安裝成功了,接著安裝PHP就行了~
安裝PHPsudo apt-get install php5其他配置
sudo apt-get install libapache2-mod-php5 //注釋:上面的安裝是為Apache2安裝PHP5的支持。 sudo /etc/init.d/apache2 restart
出現錯誤:
AH00558: apache2: Could not reliably determine the server"s fully qualified domain name, using 127.0.1.1. Set the "ServerName" directive globally to suppress this message
參考:ubuntu 14.04 apache2 服務重啟出現 AH00558...
在/etc/apache2/apache2.conf配置文件中加入:
ServerName localhost
修改后重啟Apache2
測試Apache+PHP是否運轉正常sudo vim /var/www/html/test.php
輸入
訪問:http://服務器ip/test.php
若顯示的是Hello RMEGo,就說明配置成功了。
在配置Nginx之前,我們先要為Apache2和Jexus做一些更改,默認他們使用的都是80端口,然而我們需要把80給Nginx,如果是一個PHP站點則轉發到Apache2上,如果是ASP.NET站點,則轉發到Jexus上,我相信沒有人閑到同一個站點同時用PHP和ASP.NET吧╮(╯_╰)╭,如果有的話,可以轉發到Jexus上,并且啟用Jexus的Fast-CGI來使用PHP,這里就不詳細討論了。
修改Apache2的默認使用端口sudo vim /etc/apache2/ports.conf
將Listen 80改為Listen 8081或者其他你覺得合適的端口,只要不和其他端口沖突就行。
然后,再改變默認站點的端口
sudo vim /etc/apache2/sites-available/000-default.conf
將第一行的
當然,這里8081不是一定的,但是要和上面我們修改的一致。P.S.這句話等于是廢話,反正配置完了默認站點要刪除的,配置新站點的時候注意端口一樣吧。
重啟Apache2,測試是否能從8081端口訪問,而不能從80端口訪問。
http://ServerName:80/ //ServerName換成域名或者服務器IP,測試結果應該為"載入頁面時到服務器的連接被重置。"(火狐) http://ServerName:8081/ //此時測試結果應該為Apache2默認頁 It works.修改Jexus使用的默認端口以及添加Jexus的開機自動啟動
Jexus好像沒有全局使用端口的說法,直接進入到站點配置里面把默認站點的端口改成8082吧,也可以是你覺得不沖突的端口,注意以后添加站點的時候使用同樣的端口就行了。
sudo vim /usr/jexus/siteconf/default
打開之后,有一個很顯眼的port=80在上面,修改成port=8082,保存退出即可。
添加Jexus的開機自動啟動剛剛不馬上添加開機啟動的原因,就是因為大家都在用80端口,所以會出現端口占用,無法啟動的情況,現在將Jexus和Apache2的端口都分開了,再來添加Jexus的開機啟動吧。
sudo vim /etc/init.d/rc.local
在文件的最后加上
/usr/jexus/jws start
然后執行sudo reboot重啟服務器,再看看服務是否正常吧。
重啟之后,運行:
sudo /usr/jexus/jws status
如果顯示的是Jexus is Runing,那么就成功了。
然后去瀏覽器測試一下:
http://ServerName:80/ //ServerName換成域名或者服務器IP,測試結果應該為"載入頁面時到服務器的連接被重置。"(火狐) http://ServerName:8081/ //此時測試結果應該為Apache2默認頁 It works. http://ServerName:8082/ //此時測試結果應該為Jexus的默認頁,或者是Jexus報出的404錯誤。
大功告成,接下來就差Nginx了呢~!
安裝并配置Nginxsudo apt-get install nginx關于配置
經過查閱多處文章和闊空晴云的指導,Nginx反向代理的配置大概如下:
css jpg js png gif 等靜態內容,直接由Nginx處理。
php 等php內容,反向代理到8081端口,也就是Apache2,給Apache2處理。
aspx cshtml 等ASP.NET內容,反向代理到8082端口,也就是Jexus。
P.S. 對于使用PHP的,靜態內容交給Nginx,非靜態內容的任何內容都反代給Apache2,這樣等于我們仍然還可以照原來使用Apache2的習慣去做偽靜態等等的配置。同樣的,對于使用ASP.NET的站點則除靜態內容之外,都交給Jexus來處理。
個人認為,避免Apche2和Jexus混用才是上上策。至少我感覺我會亂掉。 QAQ
這樣前Nginx,后Apache+Jexus的環境就算配好了,如果需要使用到其他的環境,可以獨立配置好服務器,設置為其他端口,然后再在nginx中加入反代的處理。
Nginx配置筆記(待補充)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39477.html
摘要:我的服務器安裝的是最新版,上面的代碼貼的是參考文章的原文。換成域名或者服務器,測試結果應該為載入頁面時到服務器的連接被重置。火狐此時測試結果應該為默認頁此時測試結果應該為的默認頁,或者是報出的錯誤。個人認為,避免和混用才是上上策。 注:本文只是個人研究以及探索的方法,可能不太嚴謹,如果犯了什么專業性的錯誤,還希望各位看官加以指正,謝謝。(′?ω?`) 特別感謝:闊空晴云(每次遇到什么...
摘要:谷歌,,,雅虎和最近因世界杯獲得龐大觀眾數量的都在使用。因此,數據庫服務器的能力是毋庸置疑的。微軟的服務器,服務器以及未來的更新價格昂貴。更依賴于微軟數量有限的開發者做出的改進和更新。 【編者按】本文主要針對開源 PHP 和非開源的 ASP.NET 在性能、成本、可擴展性,技術支持和復雜性等方面進行比較。 在網上論壇,總是有成百上千的文章和帖子在討論 PHP 和 ASP.NET,究竟誰...
云服務器作為云計算時代重要的產物,以絕對的性能和價格優勢逐漸受到企業和個人站長朋友的青睞和使用。那么,對于個人站長而言,如何利用云服務器搭建個人網站呢? 通常個人站長主要是搭建一些Wordpress博客、Discuz論壇等站點,大多數是使用PHP語言建站,建議使用Linux云服務器,也可以選用Windows云服務器。而Linux系統搭建網站主要是以執行命令的形式來完成,不懂命令代碼的站長很難去操作...
摘要:中主要是使用語言。將的動態功能和標準的安全性引入大型網絡應用的開發集成部署和管理之中。提供了一個圖形界面的管理工具,稱為信息服務管理器,可用于監視配置和控制服務。 一、基本概念 1.1、WEB開發的相關知識 WEB,在英語中web即表示網頁的意思,它用于表示Internet主機上供外界訪問的資源。 Internet上供外界訪問的Web資源分為: 靜態web資源(如html 頁面...
閱讀 1537·2023-04-25 18:56
閱讀 1484·2021-09-29 09:34
閱讀 1710·2021-09-22 15:51
閱讀 3483·2021-09-14 18:03
閱讀 1160·2021-07-23 17:54
閱讀 2018·2019-08-29 18:38
閱讀 2900·2019-08-29 12:38
閱讀 610·2019-08-26 13:41