今天小编给大家分享一下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
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
#! /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
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-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”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程之家行业资讯频道。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。