nginx+php環境搭建詳解(Linux)


 

今天在內網環境下,給linux主機安裝nginx+php環境,由於是內網環境,只能手動解壓縮包進行安裝,在這過程中我也着實遇到了一些問題(困擾了我許久),還好最后搭建環境成功了,所以寫篇博客記錄一下,望廣大讀友以后不要采坑。

搭建nginx環境

linux系統以centos7 64位為例

准備目錄

mkdir /usr/local/nginx

cd /usr/local/nginx/

下載

從http://nginx.org/download/上下載相應的版本(我這里以http://nginx.org/download/nginx-1.5.9.tar.gz為例)

解壓

tar -zxvf nginx-1.5.9.tar.gz

解壓后移至目錄

[root@localhost nginx]# cd nginx-1.5.9/

設置Nginx安裝路徑,如果沒有指定,默認為/usr/local/nginx

[root@localhost nginx-1.5.9]# ./configure --prefix=/usr/local/nginx

 

結尾如果是這樣,且沒顯紅,就說明執行成功了

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1: using system crypto library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

[root@localhost nginx-1.5.9]# 

 

然后進行編譯

make (make的過程是把各種語言寫的源碼文件,變成可執行文件和各種庫文件)

[root@localhost nginx-1.5.9]# make

結尾若是這,就說明成功了

make[1]: Entering directory `/usr/local/nginx/nginx-1.5.9'
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
    -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
    -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
    -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
    < man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/local/nginx/nginx-1.5.9'
[root@localhost nginx-1.5.9]# 

安裝

make install  (make install是把這些編譯出來的可執行文件和庫文件復制到合適的地方)

[root@localhost nginx-1.5.9]# make install

 

啟動

參數 -c 指定了配置文件的路徑,如果不加的話就是使用默認的配置文件

[root@localhost nginx-1.5.9]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

 

啟動命令一般在 /usr/local/nginx/sbin/ 目錄下的nginx

可以先切換到 /usr/local/nginx/sbin/ 目錄下,然后執行 ./nginx 也可啟動

重啟

重啟命令也是在 /usr/local/nginx/sbin/ 目錄下的nginx

先切換到 /usr/local/nginx/sbin/ 目錄下,然后執行 ./nginx -s reload 就可重新啟動

停止

停止操作是通過向nginx進程發送信號來進行的

先查詢nginx的主進程號

ps -ef | grep nginx

在進程列表里 面找master進程,它的編號就是主進程號了。

發送信號

從容停止Nginx

kill -QUIT 主進程號

快速停止Nginx

kill -TERM 主進程號

強制停止Nginx

pkill -9 nginx

 

訪問

在瀏覽器中輸入IP:端口號(默認80),出現如下圖所示,說明安裝成功。

 

 

 

搭建php環境

准備目錄

mkdir /usr/local/php

cd /usr/local/php/

 

解壓

tar -zxvf php-7.3.2.tar.gz

解壓后進入目錄 php-7.3.2/

[root@localhost php]# cd php-7.3.2/

進入目錄開始編譯安裝:

./configure --prefix=/usr/local/php --enable-fpm

 

下面是直接把常用的擴展安裝好,免得后面在一個一個安裝(推薦)

./configure --prefix=/usr/local/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm

 

編譯

make

安裝

make install

 

配置

php的默認安裝位置已經指定為/usr/local/php,接下來配置對應的文件
cp /usr/local/php/php-7.3.2/php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/php-7.3.2/sapi/fpm/php-fpm /usr/local/bin

 


首先我們應該創建web用戶(這跟后面nginx.conf有很大聯系)
groupadd daye
useradd -g daye daye

注意,不能是root賬戶,否則后面運行php-fpm就會報錯

 

默認情況下etc/php-fpm.d/下有一個名為www.conf.defalut的配置用戶的文件,執行下面命令復制一個新文件並且打開:

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

默認user和group的設置為nobody,將其改為daye

 

 

修改完成之后,保存並退出,然后執行以下命令啟動php-fpm服務:

/usr/local/bin/php-fpm

 

ps:先切換到 /usr/local/bin 目錄下

然后執行 ./php-fpm

啟動完畢之后,php-fpm服務默認使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情況:

 

 

9000端口正常使用,說明php-fpm服務啟動成功

然后執行vim /usr/local/nginx/nginx.conf 編輯nginx配置文件,具體路徑根據實際的nginx.conf配置文件位置編輯,下面主要修改nginx的server {}配置塊中的內容,修改location塊,追加index.php讓nginx服務器默認支持index.php為首頁:

修改的地方主要有三處

1.

 

 

2.

 

 

3.

 

 

修改完這些保存並退出,然后重啟nginx:

重啟命令是在 /usr/local/nginx/sbin/ 目錄下的nginx

先切換到 /usr/local/nginx/sbin/ 目錄下,然后執行 ./nginx -s reload 就可重新啟動

 

最后測試一下

在 /usr/local/nginx/html 目錄下新建一個test.php文件

<?php phpinfo();?>

 

訪問該頁面

 

 

說明nginx+php環境搭建成功!!!

 

參考:https://www.cnblogs.com/hftian/p/9469128.html

          https://www.jianshu.com/p/ca3f65117217

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM