於 Linux 分類下的文章
Kernel介紹
Kernel (核心),是整個系統中最底層也是最重要的一部份。不但負責硬體的驅動,更提供了各種系統所需的核心功能、包括防火牆機制、是否支援 LVM 或 Quota 等檔案系統等…都是靠核心所負責的。 Linux Kernel,以 C語言寫成,符合POSIX標準,採用GNU通用公共許可證釋出,是目前最受歡迎的自由電腦作業系統核心
更多詳細內容可參考 :
系統環境
Centos 5.8-x86_64-bin
Kernel linux-2.6.39.4
安裝方式
安裝相關套件
在開始設定之前,請先安裝所需的套件
gcc gcc-c++ : 用於make 編譯時使用
ncurses-devel : 用於make menuconfig 時使用
1 |
[root@localhost ~]# yum -y install gcc gcc-c++ ncurses-devel |
下載所需要的 Kernel 2.6.x
Kernel 的版本有很多,請依照自己需要的下載
以下提供幾個常見的載點
1 2 3 4 |
[root@localhost ~]# cd /usr/src/kernels [root@localhost ~]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.gz [root@localhost ~]# tar -zxvpf linux-2.6.39.4.tar.gz [root@localhost ~]# cd linux-2.6.39.4 |
在編譯 Krenel 時常會出現很多奇奇怪怪的錯誤訊息,然後就不知道怎麼去解決。在這次編譯也遇到一些錯誤。借此次機會整理了一下,所遇到和網路上的一些錯誤訊息的解法。
以下的操作都是在 Linux-Krenel 的資料夾內。從錯誤訊息 2開始,在檔案編輯時前頭有「+」的表示新增此內容,反之「-」表示刪除此內容。
錯誤訊息 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
LD drivers/xen/built-in.o drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_init': /usr/src/kernels/linux-2.6.38/drivers/xen/blktap2-new/ring.c:521: multiple definition of `blktap_ring_init' drivers/xen/blktap2/built-in.o:/usr/src/kernels/linux-2.6.38/drivers/xen/blktap2/ring.c:587: first defined here ld: Warning: size of symbol `blktap_ring_init' changed from 165 in drivers/xen/blktap2/built-in.o to 159 in drivers/xen/blktap2-new/built-in.o . . (略過) . drivers/xen/blktap2-new/built-in.o: In function `blktap_sysfs_create': /usr/src/kernels/linux-2.6.38/drivers/xen/blktap2-new/sysfs.c:168: multiple definition of `blktap_sysfs_create' drivers/xen/blktap2/built-in.o:/usr/src/kernels/linux-2.6.38/drivers/xen/blktap2/sysfs.c:300: first defined here ld: Warning: size of symbol `blktap_sysfs_create' changed from 317 in drivers/xen/blktap2/built-in.o to 224 in drivers/xen/blktap2-new/built-in.o make[2]: *** [drivers/xen/built-in.o] Error 1 make[1]: *** [drivers/xen] Error 2 make: *** [drivers] Error 2 |
解法
把這兩個取消不要勾選
1 2 3 4 5 |
[root@localhost ~]# make menuconfig Device Drivers ---> XEN ---> < > Block-device tap backend driver < > Block-device tap backend driver 2 |
MySQL 介紹
MySQL(發音:[ˌmaɪ ɛs kjuː ˈɛl],但也經常讀作My-SEQuel)是一個開放原始碼的關聯式資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。
MySQL在過去由於效能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟體組合LAMP中的「M」指的就是MySQL。
但被甲骨文公司收購後,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支援Open Solaris的發展,因此導致共享軟體社群們對於Oracle是否還會持續支援MySQL社群版(MySQL之中唯一的免費版本)有所隱憂,因此原先一些使用MySQL的開源軟體逐漸轉向其它的資料庫
更多詳細內容可參考 : 維基百科 – MySQL
MySQL : 官網
安裝方式
開始安裝之前,如果使用升級。請先將原本的資料庫做備份,以避免升級過程中發生問題。
Centos / Red Hat(RHEL)
使用第三方擴展源
Centos 6 / Red Hat(RHEL) 6
i386
1 |
[root@localhost ~]# rpm –Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm |
x86_64
1 |
[root@localhost ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm |
Centos 5 / Red Hat(RHEL) 5
i386
1 |
[root@localhost ~]# rpm –Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm |
x86_64
1 |
[root@localhost ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm |
PHP 介紹
PHP(PHP:Hypertext Preprocessor)是一種在電腦上執行的腳本語言,主要用途是在於處理動態網頁,也包含了命令列執行介面(command line interface),或者產生圖形使用者介面(GUI)程式。
PHP最早由丹麥人拉斯姆斯·勒多夫在1995年發明,而現在PHP的標準由PHP Group和開放原始碼社群維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放原始碼許可協議GPL不相容。
PHP的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,透過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行,而且使用PHP完全是免費的。根據2007年4月的統計資料,PHP已經被安裝在超過2000萬個網站和100萬台伺服器上。
詳細內容可參考 : 維基百科 – PHP 官網
安裝方式
Centos 6
i386
1 |
[root@localhost ~]# rpm –Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm |
x86_64
1 |
[root@localhost ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm |
Centos 5
i386
1 |
[root@localhost ~]# rpm –Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm |
x86_64
1 |
[root@localhost ~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm |
前言 :
在 Nginx 的 proxy 代理上可分為正向代理和反向代理。今天主要說明,反向代理且轉發到 Tomcat 的設定方式。
Nginx 反向代理(Reverse Proxy), 當代理服務器 Nginx 接收到 internet 的連線請求時,會將此請求轉發到內部指定的服務器上。並從內部服務器上取得資料後返回到代理服務器,最後在由代理服務器傳送資料給 internet 上的用戶端。
安裝環境 :
Centos 5.8
Nginx 1.2.5
PHP 5.4.9
MySQL 5.5.28
Tomcat 6.0.36
JDK 6.37
設定方式 :
轉發設定上,今天就來介紹一下 Nginx 80 → Tomcat 8080和 Nginx 443 → Tomcat 443
Nginx 80 → Tomcat 8080
修改 Nginx.conf 設定
在安裝好 Nginx 和 Tomcat 後,來修改 Nginx.conf 的設定。找到server{}裡面的location來做修改。如果 server{} 內沒有設定 location 的話請自行添加
Nginx 介紹
Nginx 是俄羅斯人所編寫,是一款高效能的 HTTP 和反向代理服務器。也是 IMAP/POP3/SMTP 代理服務器。Nginx (發音是engine x)由俄羅斯的程式設計師 Igor Sysoev所開發的。可安裝在 UNIX、GNU/Linux、FreeBSD、Mac OS X、 Solaris 以及 Microsoft Windows等操作系統中。在 NETCRAFT 2012年8月 WEB Server 調查中,使用 Nginx 當服務器或是代理服務器就佔全世界的11.48%。隨著 Nginx 在很多大型網站的廣泛使用,其穩定、高效的特性逐漸被越來越多的使用者認可。
Nginx 和 Apache 相比較下有以下優勢 :
性能上 : Nginx 使用較少的系統資源,能支持更多的開發,已達到更高的效能。
功能上 : Nginx 是優良的代理服務器和負載平衡服務器。
安裝上 : Nginx 安裝簡單且配置靈活。
更多介紹可參考 :
安裝環境 :
在此篇教學中所用到的所有套件,如果提供者載點死掉。都可在本站的載點自行下載使用
Centos 5.8
Nginx 1.2.5
PHP 5.4.9
MySQL 5.5.28
Nginx 介紹
Nginx 是俄羅斯人所編寫,是一款高效能的 HTTP 和反向代理服務器。也是 IMAP/POP3/SMTP 代理服務器。Nginx (發音是engine x)由俄羅斯的程式設計師 Igor Sysoev所開發的。可安裝在 UNIX、GNU/Linux、FreeBSD、Mac OS X、 Solaris 以及 Microsoft Windows等操作系統中。在 NETCRAFT 2012年8月 WEB Server 調查中,使用 Nginx 當服務器或是代理服務器就佔全世界的11.48%。隨著 Nginx 在很多大型網站的廣泛使用,其穩定、高效的特性逐漸被越來越多的使用者認可。
Nginx 和 Apache 相比較下有以下優勢 :
性能上 : Nginx 使用較少的系統資源,能支持更多的開發,已達到更高的效能。
功能上 : Nginx 是優良的代理服務器和負載平衡服務器。
安裝上 : Nginx 安裝簡單且配置靈活。
更多介紹可參考 :
安裝環境 :
首先有兩點要先說明一下
1. 由於以下版本安裝方式都是安裝當前最新版本,所以如果版本有更新的話。在安裝出來的結果有可能版本會和以下不同,而是該服務的最新版本。
2. 在此篇教學中所用到的所有套件,如果提供者載點死掉。都可在本站的載點自行下載使用
Centos 5.8
Nginx-1.2.5-1.el5.ngx
PHP 5.4.9
MySQL 5.5.28
近期迴響