您好,登錄后才能下訂單哦!
本篇內容主要講解“nginx+php手動編譯的詳細過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nginx+php手動編譯的詳細過程”吧!
系統 阿里云 CentOS-8 //注意端口開放,防火墻限制等問題,這些問題自己檢查
PHP 版本 7.49
nginx 版本 1.18.0
不說廢話,直接上流程,手動編譯不規定一定要用,但是一定要會。
1、下載Nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
2、下載PHP
wget https://www.php.net/distributions/php-7.4.9.tar.gz
依賴:
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
1、解壓
tar -zxvf nginx-1.18.0.tar.gz
2、進入目錄
cd ./nginx-1.18.0
3、編譯(默認就好)
./configure
4、安裝
make && make install#注:編譯安裝的過程中如果有報錯,一般都是缺少依賴,缺什么安裝什么就好了
5、把nginx 添加進服務
在/etc/init.d下創建文件nginx
添加可執行權限 chmod a+x /etc/init.d/nginx
vim /etc/init.d/nginx
#!/bin/bash#Startup script for the nginx Web Server#chkconfig: 2345 85 15nginx=/usr/local/nginx/sbin/nginxconf=/usr/local/nginx/conf/nginx.confcase $1 instart)echo -n "Starting Nginx"$nginx -c $confecho " done.";;stop)echo -n "Stopping Nginx"killall -9 nginxecho " done.";;test)$nginx -t -c $confecho "Success.";;reload)echo -n "Reloading Nginx"ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUPecho " done.";;restart)$nginx -s reloadecho "reload done.";;*)echo "Usage: $0 {start|restart|reload|stop|test|show}";;esac
保存,即可使用命令:
service nginx start
service nginx stop
service nginx restart
//啟動nginx , 通過ip訪問正常:
依賴:
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
1、解壓
tar -zxvf php-7.4.9.tar.gz
2、進入目錄
cd ./php-7.4.9
3、編譯
./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath
4、安裝
make && make install#注:編譯安裝的過程中如果有報錯,一般都是缺少依賴,缺什么安裝什么就好了
5、配置文件
# 復制配置文件 cp ./php-7.4.9/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/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf #復制啟動腳本 cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #添加執行權限 chmod +x /etc/init.d/php-fpm
使用命令查看
php -v
php-fpm命令(開啟/重啟/停止):
/etc/init.d/php-fpm start/restart/stop
查看是否安裝完成:
ps -ef|grep php-fpm
配置文件的解釋請看文章
https://zhuanlan.zhihu.com/p/97208252
vim nginx.conf
server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm index.php;}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;include fastcgi_params;}
配置PHP 的 /usr/local/php/etc/php-fpm.d/www.conf
env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp listen.allowed_clients = 127.0.0.1 listen.owner = nobody listen.group = nobody listen = 127.0.0.1:9000 #以上配置去掉注釋 保存
重啟fpm 和 nginx
在項目目錄,也就是默認的 nginx 下的 html 目錄,創建.php文件,進行訪問。
到此,相信大家對“nginx+php手動編譯的詳細過程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。