国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

全新centos系統下源碼安裝php+nginx

dkzwm / 397人閱讀

摘要:安裝完成后,可以隨時更改的名稱在配置文件中使用的指令。啟用或禁用構建一個模塊來允許服務器使用方法。如需要需要增加支持的文件數量設置附加的參數,將用于在鏈接期間。

前言 安裝軟件列表

nginx-1.13.9

php-7.2.3

操作系統
阿里云esc centos 7.4 64位
前提條件
yum install -y gcc gcc-c++ openssl openssl-devel

安裝這些是應為在編譯安裝的時候我們需要它們。

安裝nginx

首先我們得去nginx官網下載源碼包以及查看文檔。編譯文檔需要仔細查看,先簡單了解一下配置參數。

nginx 配置參數

--prefix=path 定義一個目錄,存放服務器上的文件 ,也就是nginx的安裝目錄。默認使用/usr/local/nginx

--sbin-path=path 設置nginx的可執行文件的路徑,默認為prefix/sbin/nginx

--conf-path=path 設置在nginx.conf配置文件的路徑。nginx允許使用不同的配置文件啟動,通過命令行中的-c選項。默認為prefix/conf/nginx.conf

--pid-path=path 設置nginx.pid文件,將存儲的主進程的進程號。安裝完成后,可以隨時改變的文件名 , 在nginx.conf配置文件中使用 PID指令。默認情況下,文件名 為prefix/logs/nginx.pid

--error-log-path=path 設置主錯誤,警告,和診斷文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默認情況下,文件名 為prefix/logs/error.log

--http-log-path=path 設置主請求的HTTP服務器的日志文件的名稱。安裝完成后,可以隨時改變的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默認情況下,文件名 為prefix/logs/access.log

--build=name 設置一個可選的nginx構建名稱。

--user=name 設置nginx工作進程的用戶。安裝完成后,可以隨時更改的名稱在nginx.conf配置文件中 使用的 user指令。默認的用戶名是nobody。

--group=name 設置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=path — 設置PCRE庫的源碼路徑。PCRE庫的源碼(版本4.4 - 8.41)需要從PCRE網站下載并解壓。其余的工作是Nginx的 ./configure 和 make 來完成。正則表達式使用在location指令和 ngx_http_rewrite_module 模塊中。

--with-pcre-jit —編譯PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。

--with-zlib=path —設置的zlib庫的源碼路徑。要下載從 zlib(版本1.1.3 - 1.2.11)的并解壓。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模塊需要使用zlib 。

--with-cc-opt=parameters — 設置額外的參數將被添加到CFLAGS變量。例如,當你在FreeBSD上使用PCRE庫時需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件數量:--with-cc-opt="-D FD_SETSIZE=2048".

--with-ld-opt=parameters —設置附加的參數,將用于在鏈接期間。例如,當在FreeBSD下使用該系統的PCRE庫,應指定:--with-ld-opt="-L /usr/local/lib"

翻譯大部分來源于網絡,這里不展開說明nginx各個編譯參數的含義,先完成安裝,畢竟之后我們可以通過配置文件或者重新編譯實現功能上的需求。下面是官方文檔的編譯參數示例,這些參數必須在同一行輸入(別用回車換行,那樣就開始編譯了o(╥﹏╥)o)

./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-8.41
    --with-zlib=../zlib-1.2.11

路徑我覺得沒必要配置,默認的就很好,--with-http_ssl_module 是對https訪問的支持,顯然我們需要它,編譯這個模塊需要OpenSSL的支持,我們在前提條件中已經用yum安裝了OpenSSL--with-pcre是對ngx_http_rewrite_module中正則表達式的支持,我們也需要它;--with-zlibngx_http_gzip_module需要的,我們最好包含它,ngx_http_gzip_module可以一定程度上減少服務器負擔,當然不編譯進來也沒事,以后需要可以再重新編譯進來。

編譯安裝 nginx
//下載nginx源碼包
wget http://nginx.org/download/nginx-1.13.9.tar.gz
//下載pcre源碼包
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
//下載zlib源碼包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
//解壓
tar zxvf nginx-1.13.9.tar.gz
tar zxvf pcre-8.41.tar.gz
tar zxvf zlib-1.2.11.tar.gz
//進入nginx目錄
cd nginx-1.13.9
//配置, -with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 這么寫是因為我把zlib和pcre都放在nginx源碼包同一級目錄下
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11

//配置成功之后,編譯并安裝
make && make install

如果配置或者編譯時出現錯誤,請百度或者google解決,比如,比如在最小化安裝的 centos 虛擬機中操作,tar 命令都沒有安裝,那么報tar命令不存在時我們先得安裝 tar 命令。

測試是否安裝成功

啟動nginx

/usr/local/nginx/sbin/nginx

訪問 ip 如果出現下圖,則安裝成功

安裝php

前往php下載頁面找到需要安裝的php版本,這里我們安裝最新的穩定版本php7.2.3。官方文檔沒有給出配置參數列表,我們可以使用./configure --help查看。

下載、配置及編譯安裝php
//下載php的安裝文件
wget http://cn2.php.net/distributions/php-7.2.3.tar.gz
//解壓
tar zxvf php-7.2.3.tar.gz
//進入解壓后的目錄
cd php-7.2.3
//配置安裝參數
./configure --enable-fpm --prefix=/usr/local/php
//編譯安裝
make && make install

在運行configure的時候或許會報如下錯誤

configure: error: libxml2 not found. Please check your libxml2 installation

這是因為缺少libxml庫,yum安裝一下就好

yum install -y libxml2 libxml2-devel

我們這里就簡單的安裝了php,只帶了一個參數--enable-fpm,但是實際我們也許會需要帶更多的參數,這些我們可以通過重新走一遍安裝流程來實現,值得一提的是,在./configure執行成功之后會在當前目錄下留下config.nice 文件,后續如果重新配置,可以在這個基礎上運行,比如我們要安裝pcntl擴展,可以這樣執行./config.nice --enable-pcntl

完成安裝之后的操作

php配置文件,由于在配置時我們并沒有指定php.ini的加載位置,默認在安裝php安裝目錄的lib目錄下,所以我 們移動配置文件到 /usr/local/php/lib 目錄下。

cp php.ini-development /usr/local/php/lib/php.ini

在/usr/local/php/etc/php-fpm.conf 最后一行可以看到 include=/usr/local/php/etc/php-fpm.d/*.conf,所以需要執行以下步驟。

cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

需要著重提醒的是,如果文件不存在,則阻止 Nginx 將請求發送到后端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊。將 php.ini 文件中的配置項 cgi.fix_pathinfo 設置為 0 。【官方文檔提出】

啟動php-fpm
/usr/local/php/sbin/php-fpm
修改nginx配置以支持php應用

修改默認的 location 塊,使其支持 .php 文件:

location / {
    root   html;
    index  index.php index.html index.htm;
}

下一步配置來保證對于 .php 文件的請求將被傳送到后端的 PHP-FPM 模塊, 取消默認的 PHP 配置塊的注釋,并修改為下面的內容:

location ~* .php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

重啟nginx使配置生效

/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

創建測試文件

echo "" >> /usr/local/nginx/html/index.php

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39832.html

相關文章

  • 全新centos系統源碼安裝php+nginx

    摘要:安裝完成后,可以隨時更改的名稱在配置文件中使用的指令。啟用或禁用構建一個模塊來允許服務器使用方法。如需要需要增加支持的文件數量設置附加的參數,將用于在鏈接期間。 前言 安裝軟件列表 nginx-1.13.9 php-7.2.3 操作系統 阿里云esc centos 7.4 64位 前提條件 yum install -y gcc gcc-c++ openssl openssl-de...

    honmaple 評論0 收藏0
  • 虛擬機編譯安裝lnmp(centos7,nginx1.12.0,MariaDB 10.2,php-7

    摘要:采用國內鏡像加速具體操作參考包安裝完畢后,立即啟動數據庫服務守護進程,并可以通過下面的操作設置,在操作系統重啟后自動啟動服務。 1.安裝配置centos7 使用virtualbox安裝(minimal安裝) 網絡配置 更多網絡配置可以參考(http://www.cnblogs.com/hfyfpg...) 虛擬機網絡配置中同時配置nat(用于訪問外網)和host-only(用于讓...

    msup 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<