共计 3252 个字符,预计需要花费 9 分钟才能阅读完成。
本篇内容介绍了“Ubuntu 环境怎么编译安装 PHP 和 Nginx”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
编译安装 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
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 中配置的路径
“Ubuntu 环境怎么编译安装 PHP 和 Nginx”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!