nginx原始碼安裝

WBOY
發布: 2016-07-30 13:30:38
原創
1154 人瀏覽過
nginx可以使用各平台的預設套件來安裝,本文是介紹使用原始碼編譯安裝,包含具體的編譯參數資訊。 正式開始前,編譯環境gcc g++ 開發庫之類的需要事先裝好,這裡預設你已經裝好。 ububtu平台編譯環境可以使用以下指令apt-get install build-essential apt-get install libtoolcentos平台編譯環境使用如下指令安裝make:yum -y install gcc automake autoconf libtool make安裝g++:yum install gcc gcc-c++下面開始
------------ -------------------------------------------------- -------------
一般我們都需要先裝pcre, zlib,前者為了重寫rewrite,後者為了gzip壓縮。
1.選定源碼目錄
可以是任何目錄,本文選定的是/usr/local/srccd /usr/local/src2.安裝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 install3.安裝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 install4.安裝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.gz5.安裝nginxNginx 一般有兩個版本,分別是穩定有兩個版本,分別是穩定有兩個版本版和開發版,您可以根據您的目的來選擇這兩個版本的其中一個,下面是把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=/usr/local/src/openssl-1.0.1cmake 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-utf6.啟動
確保系統的80 連接埠沒被其他程式佔用,運行/usr/local/nginx/nginx 命令來啟動Nginx,netstat -ano|grep 80查不到結果後執行,有結果則忽略此步驟(ubuntu下必須用sudo啟動,不然只能在前台運行)sudo /usr/local/nginx/nginx打開瀏覽器訪問此機器的IP,如果瀏覽器出現Welcome to nginx! 則表示Nginx 已經安裝並運行成功。 nginx原始碼安裝--------------------------------------------- --------到這裡nginx就安裝完成了,如果只是處理靜​​態html就不用繼續安裝了
如果你需要處理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]Error2nginx原始碼安裝解決方法:安裝g++,別忘了重新configure解決方法:安裝g++,別忘了重新configure
依照第4步的安裝方法或ubuntu下apt-get install g++ apt-get install build-essential make clean ./configure makecentos下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.2.nginx編譯選項make是用來編譯的,它從Makefile讀取指令,然後編譯。 make install是用來安裝的,它也從Makefile讀取指令,安裝到指定的位置。 configure指令是用來偵測你的安裝平台的目標特徵的。它定義了系統的各個方面,包括nginx的被允許使用的連接處理的方法,例如它會檢測你是否有CC或GCC,並不是需要CC或GCC,它是個shell腳本,執行結束時,它會建立一個Makefile檔案。 nginx的configure指令支援以下參數:🎜
  • --prefix=<code><em>path</em>    定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
  • --sbin-path=<code><em>path</em> 设置nginx的可执行文件的路径,默认为  <code><em>prefix</em>/sbin/nginx.
  • --conf-path=<code><em>path</em>  设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为<code><em>prefix</em>/conf/nginx.conf.
  • --pid-path=<code><em>path</em>  设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为<code><em>prefix</em>/logs/nginx.pid.
  • --error-log-path=<code><em>path</em> 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为<code><em>prefix</em>/logs/error.log.
  • --http-log-path=<code><em>path</em>  设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为<code><em>prefix</em>/logs/access.log.
  • --user=<code><em>name</em>  设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的用户名是nobody。
  • --group=<code><em>name</em>  设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。
  • --with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  • --with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
  • --without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
  • --without-http_rewrite_module  不编译重写模块。编译并运行此模块需要PCRE库支持。
  • --without-http_proxy_module — 不编译http_proxy模块。
  • --with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。
  • --with-pcre=<code><em>path</em> — 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。
  • --with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。
  • --with-zlib=<code><em>path</em> —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
  • --with-cc-opt=<code><em>parameters</em> — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:--with-cc-opt="-D FD_SETSIZE=2048".
  • --with-ld-opt=<code><em>parameters</em> —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib".
  • 典型实例(下面为了展示需要写在多行,执行时内容需要在同一行)./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

    以上就介绍了nginx源码安装,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!