ubuntu 14.04 編譯安裝 nginx


下載源碼包 nginx 地址:
http://nginx.org/en/download.html  下載nginx 1.4.7

編譯前先安裝兩個包:

直接編譯安裝會碰到缺少pcre等問題,這時候只要到再安裝兩個包就ok

sudo apt-get install libpcre3-dev aptitude libssl-dev這樣再make install就可以成功了

執行如下操作來安裝openssl及其開發函數庫:

 
  1. $ sudo apt-get install openssl  
  2. $ sudo apt-get install libssl0.9.8  
  3. $ sudo apt-get install libssl-dev  

 


依賴包安裝完畢以后 就可以編譯安裝nginx

正式開始前,編譯環境gcc g++ 開發庫之類的需要提前裝好,這里默認你已經裝好。 ububtu平台編譯環境可以使用以下指令 
apt-get install build-essential apt-get install libtool 
centos平台編譯環境使用如下指令 安裝make: 
yum -y install gcc automake autoconf libtool make 
安裝g++: 
yum install gcc gcc-c++ 
下面正式開始 
--------------------------------------------------------------------------- 一般我們都需要先裝pcre, zlib,前者為了重寫rewrite,后者為了gzip壓縮。 1.選定源碼目錄 
可以是任何目錄,本文選定的是/usr/local/src 
cd /usr/local/src 
2.安裝PCRE庫 
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包: 
cd /usr/local/src 
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz  tar -zxvf pcre-8.34.tar.gz cd pcre-8.34

 ./configure make 
make install 

3.安裝zlib庫 
http://zlib.net/zlib-1.2.8.tar.gz 下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包: 
cd /usr/local/src  
wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make 
make install 
4.安裝ssl(某些vps默認沒裝ssl) 
cd /usr/local/src 
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz tar -zxvf openssl-1.0.1c.tar.gz 
5.安裝nginx 
Nginx 一般有兩個版本,分別是穩定版和開發版,您可以根據您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細步驟: 
cd /usr/local/src 
wget http://nginx.org/download/nginx-1.4.2.tar.gz tar -zxvf nginx-1.4.2.tar.gz cd nginx-1.4.2  
./configure --sbin-path=/usr/local/nginx/nginx \ --conf-path=/usr/local/nginx/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_ssl_module \  --with-pcre=/usr/local/src/pcre-8.34 \ --with-zlib=/usr/local/src/zlib-1.2.8 \ --with-openssl=/home/mdpi/openssl-1.0.1c \

make 

make install 




 

4.啟動nginx 
sudo /usr/local/nginx/sbin/nginx
   關閉nginx
sudo /usr/local/nginx/sbin/nginx -s stop
   重讀nginx配置文件
sudo /usr/local/nginx/sbin/nginx -s reload


啟動nginx出現的錯誤 :nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

使用命令關閉占用80端口的程序

 

sudo fuser -k 80/tcp


##建立軟鏈接sudo ln -s /usr/local/nginx/sbin/nginx /etc/init.d/##啟動nginx/etc/init.d/nginx
之后就打開瀏覽器  輸入http://localhost 


測試一下吧!
 

!!!給nginx 設定支持PHP功能

首先編輯
sudo vi /usr/local/nginx/conf/nginx.conf


直接修改

 location / {
            root   /usr/local/nginx/html/;      //網站的根路徑 是 /usr/local/nginx/html/下
            index  index.html index.htm index.php;    //主頁文件的類型
        }


 location ~ \.php$ {
            root           /usr/local/nginx/html;       //  /網站的根路徑 是 /usr/local/nginx/html/下
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;  //支持php的路徑  意思就是 在/usr/local/nginx
            include        fastcgi_params;                                                                                      /html 的目錄下 支持php的文件
       }

修改這兩處即可讓nginx 支持 php 功能


然后 sudo /etc/init.d/nginx -s reload   //重新載入nginx 的配置文件

 

 

=============================================================

相關錯誤:

啟動nginx的時候,提示sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

 

解決辦法: ln -s /usr/local/lib/libpcre.so.1 /usr/local/nginx/lib


免責聲明!

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



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