摘要:安裝完成后,可以隨時更改的名稱在配置文件中使用的指令。啟用或禁用構(gòu)建一個模塊來允許服務(wù)器使用方法。如需要需要增加支持的文件數(shù)量設(shè)置附加的參數(shù),將用于在鏈接期間。
nginx可以使用各平臺的默認(rèn)包來安裝,本文是介紹使用源碼編譯安裝,包括具體的編譯參數(shù)信息。
正式開始前,編譯環(huán)境gcc g++ 開發(fā)庫之類的需要提前裝好,這里默認(rèn)你已經(jīng)裝好。
ububtu平臺編譯環(huán)境可以使用以下指令
apt-get install build-essential
apt-get install libtool
centos平臺編譯環(huán)境使用如下指令
安裝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.37.tar.gz?
tar -zxvf pcre-8.37.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默認(rèn)沒裝ssl)
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.0.1t.tar.gz
tar -zxvf openssl-1.0.1t.tar.gz
5.安裝nginx
Nginx 一般有兩個版本,分別是穩(wěn)定版和開發(fā)版,您可以根據(jù)您的目的來選擇這兩個版本的其中一個,下面是把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細(xì)步驟:
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=/opt/app/openet/oetal1/chenhe/pcre-8.37
--with-zlib=/opt/app/openet/oetal1/chenhe/zlib-1.2.8
--with-openssl=/opt/app/openet/oetal1/chenhe/openssl-1.0.1t
make
make install
--with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源碼路徑。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源碼路徑。
安裝成功后 /usr/local/nginx 目錄下如下
fastcgi.conf ? ? ? ? ? ?koi-win ? ? ? ? ? ? nginx.conf.default
fastcgi.conf.default ? ?logs ? ? ? ? ? ? ? ?scgi_params
fastcgi_params ? ? ? ? ?mime.types ? ? ? ? ?scgi_params.default
fastcgi_params.default ?mime.types.default ?uwsgi_params
html ? ? ? ? ? ? ? ? ? ?nginx ? ? ? ? ? ? ? uwsgi_params.default
koi-utf ? ? ? ? ? ? ? ? nginx.conf ? ? ? ? ?win-utf
6.啟動
確保系統(tǒng)的 80 端口沒被其他程序占用,運(yùn)行/usr/local/nginx/nginx 命令來啟動 Nginx,
netstat -ano|grep 80
如果查不到結(jié)果后執(zhí)行,有結(jié)果則忽略此步驟(ubuntu下必須用sudo啟動,不然只能在前臺運(yùn)行)
sudo /usr/local/nginx/nginx
打開瀏覽器訪問此機(jī)器的 IP,如果瀏覽器出現(xiàn) Welcome to nginx! 則表示 Nginx 已經(jīng)安裝并運(yùn)行成功。
-----------------------------------------------------
到這里nginx就安裝完成了,如果只是處理靜態(tài)html就不用繼續(xù)安裝了
如果你需要處理php腳本的話,還需要安裝php-fpm。
下面安裝排錯
附:可能遇到的錯誤和一些幫助信息
1.1編譯pcre錯誤
libtool: compile: unrecognized option `-DHAVE_CONFIG_H"
libtool: compile: Try `libtool --help" for more information.
make[1]: *** [pcrecpp.lo] Error 1
make[1]: Leaving directory `/usr/local/src/pcre-8.34"
make: *** [all] Error 2
解決辦法:安裝g++,別忘了重新configure
apt-get install g++
apt-get install build-essential
make clean
./configure
make
1.2 make出錯
make: *** No rule to make target `build", needed by `default". ?Stop.
./configure: error: SSL modules require the OpenSSL library.
You can either do not enable the modules, or install the OpenSSL library
into the system, or build the OpenSSL library statically from the source
with nginx by using --with-openssl=option.
按照第4步的安裝方法或
ubuntu下
apt-get install openssl
apt-get install libssl-dev
centos下
yum -y install openssl openssl-devel
2.nginx編譯選項(xiàng)
make是用來編譯的,它從Makefile中讀取指令,然后編譯。
make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。
configure命令是用來檢測你的安裝平臺的目標(biāo)特征的。它定義了系統(tǒng)的各個方面,包括nginx的被允許使用的連接處理的方法,比如它會檢測你是不是有CC或GCC,并不是需要CC或GCC,它是個shell腳本,執(zhí)行結(jié)束時,它會創(chuàng)建一個Makefile文件。nginx的configure命令支持以下參數(shù):
--prefix=path ? ?定義一個目錄,存放服務(wù)器上的文件 ,也就是nginx的安裝目錄。默認(rèn)使用 /usr/local/nginx。
--sbin-path=path 設(shè)置nginx的可執(zhí)行文件的路徑,默認(rèn)為 ?prefix/sbin/nginx.
--conf-path=path ?設(shè)置在nginx.conf配置文件的路徑。nginx允許使用不同的配置文件啟動,通過命令行中的-c選項(xiàng)。默認(rèn)為prefix/conf/nginx.conf.
--pid-path=path ?設(shè)置nginx.pid文件,將存儲的主進(jìn)程的進(jìn)程號。安裝完成后,可以隨時改變的文件名 , 在nginx.conf配置文件中使用 PID指令。默認(rèn)情況下,文件名 為prefix/logs/nginx.pid.
--error-log-path=path 設(shè)置主錯誤,警告,和診斷文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默認(rèn)情況下,文件名 為prefix/logs/error.log.
--http-log-path=path ?設(shè)置主請求的HTTP服務(wù)器的日志文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默認(rèn)情況下,文件名 為prefix/logs/access.log.
--user=name ?設(shè)置nginx工作進(jìn)程的用戶。安裝完成后,可以隨時更改的名稱在nginx.conf配置文件中 使用的 user指令。默認(rèn)的用戶名是nobody。
--group=name ?設(shè)置nginx工作進(jìn)程的用戶組。安裝完成后,可以隨時更改的名稱在nginx.conf配置文件中 使用的 user指令。默認(rèn)的為非特權(quán)用戶。
--with-select_module --without-select_module 啟用或禁用構(gòu)建一個模塊來允許服務(wù)器使用select()方法。該模塊將自動建立,如果平臺不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 啟用或禁用構(gòu)建一個模塊來允許服務(wù)器使用poll()方法。該模塊將自動建立,如果平臺不支持的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module — 不編譯壓縮的HTTP服務(wù)器的響應(yīng)模塊。編譯并運(yùn)行此模塊需要zlib庫。
--without-http_rewrite_module ?不編譯重寫模塊。編譯并運(yùn)行此模塊需要PCRE庫支持。
--without-http_proxy_module — 不編譯http_proxy模塊。
--with-http_ssl_module — 使用https協(xié)議模塊。默認(rèn)情況下,該模塊沒有被構(gòu)建。建立并運(yùn)行此模塊的OpenSSL庫是必需的。
--with-pcre=path — 設(shè)置PCRE庫的源碼路徑。PCRE庫的源碼(版本4.4 - 8.30)需要從PCRE網(wǎng)站下載并解壓。其余的工作是Nginx的./ configure和make來完成。正則表達(dá)式使用在location指令和 ngx_http_rewrite_module 模塊中。
--with-pcre-jit —編譯PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path —設(shè)置的zlib庫的源碼路徑。要下載從 zlib(版本1.1.3 - 1.2.5)的并解壓。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模塊需要使用zlib 。
--with-cc-opt=parameters — 設(shè)置額外的參數(shù)將被添加到CFLAGS變量。例如,當(dāng)你在FreeBSD上使用PCRE庫時需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件數(shù)量:--with-cc-opt="-D FD_SETSIZE=2048".
--with-ld-opt=parameters —設(shè)置附加的參數(shù),將用于在鏈接期間。例如,當(dāng)在FreeBSD下使用該系統(tǒng)的PCRE庫,應(yīng)指定:--with-ld-opt="-L /usr/local/lib".
典型實(shí)例(下面為了展示需要寫在多行,執(zhí)行時內(nèi)容需要在同一行)
./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=../pcre-4.4
? ? --with-zlib=../zlib-1.1.3
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/573.html
摘要:首先,的命令和并不能在全局使用。文章有意將瀏覽器不能訪問服務(wù)器的兩個問題寫出來,是因?yàn)樽髡咴谂挪閱栴}的時候,發(fā)現(xiàn)在服務(wù)器直接訪問的頁面,能很好地檢查排除問題在百度尋找問題答案的時候,發(fā)現(xiàn)這種做法也得到了不少人的肯定。 前段時間要把項(xiàng)目部署到服務(wù)器,期間踩了不少的坑。故寫下這篇文章,從零開始把自己部署的過程都記錄下來,希望能給其他像我一樣的小白一點(diǎn)幫助。如果有疏漏的地方,請各位客官指出,...
摘要:一些關(guān)于在最新下搭建開發(fā)環(huán)境的流程建議,直接進(jìn)入正題安裝開發(fā)常用包軟件又叫,是上的軟件包管理工具,能在中方便的安裝軟件或者卸載軟件,和系統(tǒng)中的非常相似,只需要一個命令,非常方便。 一些關(guān)于在最新 Macos 下搭建LNMP開發(fā)環(huán)境的流程建議,直接進(jìn)入正題: Preparing安裝 Homebrew、Ohmyzsh、開發(fā)常用包&軟件 1.1 Homebrew Homebrew又叫Br...
閱讀 3310·2023-04-25 20:35
閱讀 3656·2019-08-30 15:54
閱讀 2046·2019-08-30 15:43
閱讀 2218·2019-08-29 15:14
閱讀 1944·2019-08-29 11:17
閱讀 3415·2019-08-26 13:36
閱讀 737·2019-08-26 10:15
閱讀 2886·2019-08-23 15:41