Ubuntu如何編譯安裝PHP和Nginx

編譯安裝nginx

切換目錄到工作文件夾:

cd?/usr/local/src

下載pcre源代碼并安裝

wget?ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz tar?-zxvf?pcre2-10.20.tar.gz mv?./pcre2-10.20.tar.gz?./pcre? cd?pcre ./configure?--prefix=/usr/local/pcre make?&&?make?install

下載zlib源代碼并安裝

wget?http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz tar?-zxvf?zlib-1.2.8.tar.gz mv?./zlib-1.2.8.tar.gz?./zlib cd?zlib ./configure?--prefix=/usr/local/zlib make?&&?make?install

下載nginx源代碼并安裝

wget?http://nginx.org/download/nginx-1.8.1.tar.gz tar?-zxvf?nginx-1.8.1.tar.gz cd?nginx-1.8.1 ./configure?--prefix=/usr/local/nginx?--with-pcre=/usr/local/pcre?--with-zlib=/usr/local/zlib make?&&?make?install

開機啟動nginx

添加/ect/init.d/nginx,并寫入腳本

#!?/bin/bash #?description:?startup?script?for?webserver?on?centos.?cp?it?in?/etc/init.d?and #?chkconfig?--add?nginx?&&?chkconfig?nginx?on #?then?you?can?use?server?command?control?nginx # #?chkconfig:?2345?08?99 #?description:?starts,?stops?nginx set?-e path=$path:/usr/local/nginx/sbin/ desc="nginx?daemon" name=nginx daemon=/usr/local/nginx/sbin/$name configfile=/usr/local/nginx/conf/nginx.conf pidfile=/var/run/nginx.pid scriptname=/etc/init.d/$name #?gracefully?exit?if?the?package?has?been?removed. test?-x?$daemon?||?exit?0 d_start()?{ $daemon?-c?$configfile?||?echo?-n?"?already?running" } d_stop()?{ kill?-quit?`cat?$pidfile`?||?echo?-n?"?not?running" } d_reload()?{ kill?-hup?`cat?$pidfile`?||?echo?-n?"?can't?reload" } case?"$1"?in start) echo?-n?"starting?$desc:?$name" d_start echo?"." ;; stop) echo?-n?"stopping?$desc:?$name" d_stop echo?"." ;; reload) echo?-n?"reloading?$desc?configuration..." d_reload echo?"reloaded." ;; restart) echo?-n?"restarting?$desc:?$name" d_stop sleep?1 d_start echo?"." ;; *) echo?"usage:?$scriptname?{start|stop|restart|force-reload}"?>&2 exit?3 ;; esac exit?0
chmod?+x?/etc/init.d/nginx chkconfig?--add?nginx chkconfig?--level?2345?nginx?on service?nginx?start

源碼編譯安裝php5.6

下載php源代碼

cd?/usr/local/src wget?http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror mv?mirror?php-5.6.24.tar.gz tar?-zxvf?php-5.6.24.tar.gz cd?php-5.6.24

安裝依賴的組件

xml擴展

apt-get?install?libxml2-dev

png擴展

apt-get?install?libpng12-dev

freetype擴展

apt-get?-y?install?libfreetype6-dev

openssl擴展

apt-get?install?openssl apt-get?install?libcurl3-openssl-dev

jpeg擴展

apt-get?install?libjpeg-dev

編譯語句

生成配置文件

./configure?--prefix=/opt/php?--with-config-file-path=/opt/php/lib?--enable-mbstring?--enable-ftp?--with-gd?--with-jpeg-dir=/usr?--with-png-dir=/usr?--with-mysql=mysqlnd?--with-mysqli=mysqlnd?--with-openssl-dir=/usr?--with-openssl?--with-pdo-mysql=mysqlnd?--with-pear?--enable-sockets?--with-freetype-dir=/usr?--enable-gd-native-ttf?--with-zlib?--with-libxml-dir=/usr?--with-xmlrpc?--enable-zip?--enable-fpm?--enable-fpm?--enable-xml?--enable-sockets?--with-gd?--with-zlib?--with-iconv?--enable-zip?--with-freetype-dir=/usr/lib/?--enable-soap?--enable-pcntl?--enable-cli

安裝了依賴的組件以后,應該就不會報錯,如果報錯請安裝缺少的組件,然后重新生成配置文件。

編譯&安裝

make?&&?make?install

查看php服務器配置

當我們遷移服務器的時候,上述生成配置文件的代碼需要與原php服務器的一直,我們可以使用php-config –configure-options查看。

php-config的位置在 php/bin/php-config

沒有發現php.ini?

直接編譯安裝php之后,是沒有php.ini的,我們可以從解壓縮后的目錄copy到/opt/php/lib,然后進行配置生效。

/opt/php/lib是在./configure中配置的路徑

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享