LNMP PHP的編譯安裝

2021-09-20 22:28:29 字數 2809 閱讀 3526

按照lnmp的順序,我們應該先編譯mysql,再編譯php,最後編譯nginx,因為lnmp的mysql和lamp的mysql編譯一樣,所以我們就略過,不再闡述了具體可以看這個鏈結

另外補充乙個mysql的原始碼**:

還需要注意乙個問題,那就是我們單獨配置lnmp的思路是不對的,我們的思路應該也必須是lamp+nginx,即lanmp;而我們想當然會認為lnmp+apache也行,但是這樣的的思路是錯誤的,這一點需要注意一下。

下面直接進入lnmp的php編譯:

[root@lnmplinux support-files]# cd /usr/local/src

[root@lnmplinux src]# wget

解壓[root@lnmplinux src]# tar jxvf php-5.6.12.tar.bz2

建立使用者

[root@lnmplinux src]# useradd -s /sbin/nologin php-fpm

進入php目錄編譯

[root@lnmplinux src]# cd php-5.6.12

[root@lnmplinux php-5.6.12]# ./configure --prefix=/usr/local/php2

--with-config-file-path=/usr/local/php2/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibyte --disable-ipv6 --with-pear --with-curl --with-openssl

我們應該注意的問題:

在上面編譯安裝過程中,有兩行用「紅字」標示出來,如下所示:

--prefix=/usr/local/php2

--with-config-file-path=/usr/local/php2/etc

因為我們是在lamp的基礎上,進行lnmp的編譯安裝,lamp中已經編譯過php了,所以我們要對lnmp中的php的目錄做一下更改,及上面編譯命令中的綠字部分,有利於我們區分開來,對於此點更改下文中均會以「綠字」標示出來。

安裝過程**現的問題解決方法:

問題一:

configure: error: jpeglib.h not found.

[root@lnmplinux php-5.6.12]# yum list |grep jpeg

[root@lnmplinux php-5.6.12]# yum install -y libjpeg-turbo-devel

重新編譯安裝

問題二:

configure: error: mcrypt.h not found. please reinstall libmcrypt.

需安裝epel

[root@lnmplinux php-5.6.12]# rpm -ivh ''

[root@lnmplinux php-5.6.12]# yum list |grep mcry

[root@lnmplinux php-5.6.12]# yum install -y libmcrypt-devel

重新編譯安裝

[root@lnmplinux php-5.6.12]# make && make install

[root@lnmplinux php-5.6.12]# echo $? 0

製作php全域性配置檔案

[root@lnmplinux php-5.6.12]# cp php.ini-production /usr/local/php2/etc/php.ini

製作啟動指令碼

[root@lnmplinux php-5.6.12]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

授予啟動指令碼許可權

[root@lnmplinux php-5.6.12]# chmod 755 /etc/init.d/php-fpm

加入啟動程序

[root@lnmplinux php-5.6.12]# chkconfig --add php-fpm

開機自動啟動

[root@lnmplinux php-5.6.12]# chkconfig php-fpm on

設定php-fpm的配置檔案

[root@lnmplinux php-5.6.12]# cd /usr/local/php2/etc

[root@lnmplinux etc]# mv  php-fpm.conf.default  php-fpm.conf

檢查有無語法錯誤

[root@lnmplinux etc]# /usr/local/php2/sbin/php-fpm -t

啟動服務

[root@lnmplinux etc]# service php-fpm start

檢視程序

[root@lnmplinux etc]# ps aux |grep php-fpm

監聽埠

[root@lnmplinux etc]# netstat -lnp |grep php-fpm

lnmp php的原始碼安裝與配置

編譯 安裝 root server1 ls php 5.6.35.tar.bz2 root server1 tar jxf php 5.6.35.tar.bz2 安裝包解壓 root server1 cd php 5.6.35 root server1 php 5.6.35 configure pr...

編譯安裝 Faiss編譯安裝

相信做搜尋的朋友,對faiss並不陌生,它區別於傳統的倒排檢索,通過近似向量的方式,召回檢索資料,改善搜尋體驗。最近我司準備在生產環境中上faiss,第一步得先能完整編譯可安裝的so,於是我就上手初體驗了一把。faiss有兩種安裝方式,一種是通過conda安裝,一種通過原始碼編譯安裝,本文介紹第二種...

glibc的安裝編譯

有些軟體可能要求系統的 glibc 高於某個版本才可以正常執行。如果您的 glibc 低於要求的版本,為了執行這些軟體,您就不得不公升級您的 glibc 了 您可以尋找已經編譯好的 rpm 包或者使用源 的方式公升級 glibc。解壓 tar zxvf glibc 2.7.tar.gz cd gli...