ubuntu 编译安装nginx php mysql_Ubuntu 14.04 64bit 编译安装Nginx1.7+PHP5.4+MySQL5.6

我的操作系统是Ubuntu14.04,其它linux系统的操作流程类似。主要安装的软件是Nginx1.7+PHP5.4+MySQL5.6

1. 创建必要目录

sudo mkdir ~/setup

sudo mkdir /opt/software

sudo chmod 777 /opt/software

2. 下载必要软件

cd ~/Downloads

wget http://am1.php.net/distributions/php-5.4.29.tar.gz

tar zxvf ~/Downloads/php-5.4.29.tar.gz -C ~/setup/

wget http://nginx.org/download/nginx-1.7.1.tar.gz

tar zxvf ~/Downloads/nginx-1.7.1.tar.gz -C ~/setup/

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.19-linux-glibc2.5-x86_64.tar.gz

tar zxvf ~/Downloads/mysql-5.6.19-linux-glibc2.5-x86_64.tar.gz -C ~/setup/

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz

tar zxvf ~/Downloads/pcre-8.33.tar.gz -C ~/setup/

wget http://www.ijg.org/files/jpegsrc.v9.tar.gz

tar zxvf ~/Downloads/jpegsrc.v9.tar.gz -C ~/setup/

wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.2.tar.gz ~/Downloads

tar zxvf ~/Downloads/libpng-1.6.2.tar.gz -C ~/setup/

wget http://download.savannah.gnu.org/releases/freetype/freetype-2.4.12.tar.gz

tar zxvf ~/Downloads/freetype-2.4.12.tar.gz -C ~/setup/

wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz

tar zxvf ~/Downloads/mhash-0.9.9.9.tar.gz -C ~/setup/

wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz

tar zxvf ~/Downloads/libmcrypt-2.5.8.tar.gz -C ~/setup/

wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz

tar zxvf ~/Downloads/mcrypt-2.6.8.tar.gz -C ~/setup/

wget ftp://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz

tar zxvf ~/Downloads/termcap-1.3.1.tar.gz -C ~/setup/

wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz

tar zxvf ~/Downloads/autoconf-latest.tar.gz -C ~/setup/

wget http://ftp.gnu.org/gnu/m4/m4-latest.tar.gz

tar zxvf ~/Downloads/m4-latest.tar.gz -C ~/setup/

wget http://pecl.php.net/get/memcache-2.2.7.tgz

tar zxvf ~/Downloads/memcache-2.2.7.tgz -C ~/setup/

3. 安装nginx

sudo apt-get install libpcre3 libpcre3-dev

sudo apt-get install libssl-dev openssl libcurl4-openssl-dev

sudo apt-get install build-essential

sudo /usr/sbin/groupadd www

sudo /usr/sbin/useradd -g www www

cd ~/setup/pcre-8.33/

./configure --prefix=/opt/software/pcre

sudo make && sudo make install

cd ../nginx-1.7.1/

./configure --user=www --group=www --prefix=/opt/software/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=~/setup/pcre-8.33 --with-http_realip_module

sudo make && sudo make install

4. 安装MySQL

cd ~/setup

sudo mv mysql-5.6.19-linux-glibc2.5-x86_64 /opt/software/mysql

sudo mkdir -p /opt/software/mysql/data

sudo apt-get install libaio-dev

sudo /usr/sbin/groupadd mysql

sudo /usr/sbin/useradd -g mysql mysql

/opt/software/mysql/scripts/mysql_install_db --basedir=/opt/software/mysql --datadir=/opt/software/mysql/data --user=mysql

sed -i "s#/usr/local/mysql#/opt/software/mysql#g" /opt/software/mysql/bin/mysqld_safe

#启动mysql进程

/opt/software/mysql/bin/mysqld --basedir=/opt/software/mysql --datadir=/opt/software/mysql/data > /dev/null 2>&1

#设置root的密码为123456

/opt/software/mysql/bin/mysqladmin -u root password '123456'

5. 安装PHP依赖库

cd ~/setup

sudo mkdir -p /opt/software/libs/

cd jpeg-9/

./configure --prefix=/opt/software/libs --enable-shared --enable-static --prefix=/opt/software/libs

sudo make && sudo make install

cd ../libpng-1.6.2/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

cd ../freetype-2.4.12/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

cd ../libmcrypt-2.5.8/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

#注意这里不是返回上级目录,而是在当前目录

cd libltdl/

./configure --prefix=/opt/software/libs --enable-ltdl-install

sudo make && sudo make install

cd ../../mhash-0.9.9.9/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

6. 设置类库加载路径

sudo vim /etc/ld.so.conf.d/opt-software-libs.conf

输入

/opt/software/libs/lib

然后

sudo ldconfig

cd ../mcrypt-2.6.8/

export LDFLAGS="-L/opt/software/libs/lib -L/usr/lib"

export CFLAGS="-I/opt/software/libs/include -I/usr/include"

touch malloc.h

./configure --prefix=/opt/software/libs --with-libmcrypt-prefix=/opt/software/libs

sudo make && sudo make install

cd ../termcap-1.3.1/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

7. 安装PHP

sudo apt-get install libxml2-dev

export LIBS="-lm -ltermcap -lresolv"

export DYLD_LIBRARY_PATH="/opt/software/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"

export LD_LIBRARY_PATH="/opt/software/mysql/lib/:/lib/:/usr/lib/:/usr/local/lib:/lib64/:/usr/lib64/:/usr/local/lib64"

cd ../php-5.4.29/

./configure --prefix=/opt/software/php --with-config-file-path=/opt/software/php/etc --with-mysql=/opt/software/mysql --with-mysqli=/opt/software/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir=/opt/software/libs --with-jpeg-dir=/opt/software/libs --with-png-dir=/opt/software/libs --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt=/opt/software/libs --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap

sudo ln -s /opt/software/mysql/lib/libmysqlclient.so.18 /usr/lib/

wget http://pear.php.net/go-pear.phar

sudo mv go-pear.phar /opt/software/php/bin

sudo make && sudo make install

sudo cp php.ini-development /opt/software/php/etc/php.ini

sudo ln -s /opt/software/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

sudo cp /opt/software/php/etc/php-fpm.conf.default /opt/software/php/etc/php-fpm.conf

8. 安装PHP扩展

cd ../m4-1.4.17/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

export PATH=/home/davidhhuan/setup/m4-1.4.17:$PATH

cd ../autoconf-2.69/

./configure --prefix=/opt/software/libs

sudo make && sudo make install

cd ../memcache-2.2.7/

export PHP_AUTOCONF="/opt/software/libs/bin/autoconf"

export PHP_AUTOHEADER="/opt/software/libs/bin/autoheader"

/opt/software/php/bin/phpize

./configure --with-php-config=/opt/software/php/bin/php-config

sudo make && sudo make install

9. 设置开机自启动

Nginx

sudo vim /etc/init.d/nginx

内容如下

#! /bin/sh

### BEGIN INIT INFO

# Provides:          nginx

# Required-Start:    $local_fs $remote_fs $network $syslog

# Required-Stop:    $local_fs $remote_fs $network $syslog

# Default-Start:    2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: starts the nginx web server

# Description:      starts nginx using start-stop-daemon

### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/opt/software/nginx/sbin/nginx

NAME=nginx

DESC=nginx

DAEMON_OPTS=''

test -x $DAEMON || exit 0

# Include nginx defaults if available

#if [ -f /etc/default/nginx ] ; then

#      . /etc/default/nginx

#fi

set -e

. /lib/lsb/init-functions

#test_nginx_config() {

#  if $DAEMON -t $DAEMON_OPTS

#  then

#    return 0

#  else

#    return $?

#  fi

#}

case "$1" in

start)

echo -n "Starting $DESC: "

start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \

--exec $DAEMON || true

echo "$NAME."

;;

stop)

echo -n "Stopping $DESC: "

start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \

--exec $DAEMON || true

echo "$NAME."

;;

restart|force-reload)

echo -n "Restarting $DESC: "

start-stop-daemon --stop --quiet --pidfile \

/var/run/$NAME.pid --exec $DAEMON || true

sleep 1

start-stop-daemon --start --quiet --pidfile \

/var/run/$NAME.pid --exec $DAEMON || true

echo "$NAME."

;;

reload)

echo -n "Reloading $DESC configuration: "

start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \

--exec $DAEMON || true

echo "$NAME."

;;

status)

status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?

;;

*)

echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2

exit 1

;;

esac

exit 0

sudo update-rc.d nginx defaults

php-fpm

sudo cp /opt/setup/php-5.4.29/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm

sudo groupadd nobody

sudo touch /opt/software/php/var/run/php-fpm.pid

sudo update-rc.d php-fpm defaults

vim /etc/init.d/php-fpm

替换如下内容

prefix=@prefix@

exec_prefix=@exec_prefix@

php_fpm_BIN=@sbindir@/php-fpm

php_fpm_CONF=@sysconfdir@/php-fpm.conf

php_fpm_PID=@localstatedir@/run/php-fpm.pid

变成

prefix=/opt/software/php

exec_prefix=/opt/software/php/bin

php_fpm_BIN=/opt/software/php/sbin/php-fpm

php_fpm_CONF=/opt/software/php/etc/php-fpm.conf

php_fpm_PID=/opt/software/php/var/run/php-fpm.pid

MySQL

sudo cp /opt/software/mysql/support-files/mysql.server /etc/init.d/mysqld

sudo vim /etc/init.d/mysqld

#找到

basedir=

datadir=

#变成

basedir=/opt/software/mysql

datadir=/opt/software/mysql/data

sudo update-rc.d mysqld defaults

10. 加入环境变量

sudo vim /etc/profile

加入

export PATH=$PATH:/opt/software/mysql/bin:/opt/software/php/bin:/opt/software/php/sbin:/opt/software/mysql/bin

加载

source /etc/profile

至此,基本上就可以使用了。

Have fun with Ubuntu!

Nginx 的详细介绍:请点这里

Nginx 的下载地址:请点这里

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值