下載源碼包 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及其開發函數庫:
- $ sudo apt-get install openssl
- $ sudo apt-get install libssl0.9.8
- $ 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