首页
登录 | 注册

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中配置的路径

相关内容

相关文章

  • CentOS7.3编译安装Python3.6.2的方法
    我使用的是 CentOS7.3 安装 Python3.6.2 1.查看是否已经安装Python Centos7 默认安装了Python2.7.5 因为一些命令要用它比如 yum 它使用的是 python2.7.5. 使用 python -V ...
  • 在ubuntu上安装memcache服务端比较简单. sudo apt-get install memcached memcached -d -m 128 -p 22222 -u root -c 1024 -l 127.0.0.1 -P / ...
  • Centos 6.8编译安装LNMP环境(Nginx+MySQL+PHP)教程
    前言 对于新手的一点建议: 最好熟悉一下linux 的基本命令,vim的常用命令 千万不要无脑复制,先看一下命令,特别是路径要注意 学会排查错误 本篇安装的软件版本为: Linux:Centos6.8 Nginx:1.10.3 MySQL: ...
  • 安装nginx编译所需的lib库 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel yum -y install pcre pcre-deve ...
  • 安装依赖库: sudo apt-get install libgd2-xpm sudo apt-get install libgd2-xpm-dev sudo apt-get install libgeoip-dev sudo apt-ge ...
  • 在lnmp环境中的nginx编译安装
    我用的linux系统是 centos7.1. 如果linux系统没有预先安装 gcc 等编译软件可以用yum源安装.安装nginx,首先需要安装依赖模块pcre.zlib.openssl. gzip 模块需要 zlib 库 rewrite ...

2019 xools.net webmaster#xools.net
12 q. 0.036 s.
湘ICP备19005923号