摘要:安裝完成后,可以隨時更改的名稱在配置文件中使用的指令。啟用或禁用構建一個模塊來允許服務器使用方法。如需要需要增加支持的文件數量設置附加的參數,將用于在鏈接期間。
前言 安裝軟件列表
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-zlib是ngx_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/28426.html
摘要:安裝完成后,可以隨時更改的名稱在配置文件中使用的指令。啟用或禁用構建一個模塊來允許服務器使用方法。如需要需要增加支持的文件數量設置附加的參數,將用于在鏈接期間。 前言 安裝軟件列表 nginx-1.13.9 php-7.2.3 操作系統 阿里云esc centos 7.4 64位 前提條件 yum install -y gcc gcc-c++ openssl openssl-de...
摘要:采用國內鏡像加速具體操作參考包安裝完畢后,立即啟動數據庫服務守護進程,并可以通過下面的操作設置,在操作系統重啟后自動啟動服務。 1.安裝配置centos7 使用virtualbox安裝(minimal安裝) 網絡配置 更多網絡配置可以參考(http://www.cnblogs.com/hfyfpg...) 虛擬機網絡配置中同時配置nat(用于訪問外網)和host-only(用于讓...
閱讀 3189·2021-11-24 10:30
閱讀 1313·2021-09-30 09:56
閱讀 2385·2021-09-07 10:20
閱讀 2596·2021-08-27 13:10
閱讀 698·2019-08-30 11:11
閱讀 2050·2019-08-29 12:13
閱讀 758·2019-08-26 12:24
閱讀 2897·2019-08-26 12:20