Ubuntu14.04 64bit 编译安装nginx1.7+php5.4+mysql5.6

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 我的操作系统是Ubuntu14.04,其它linux系统的操作流程类似。 主要安装的软件是nginx1.7+php5.4+mysql5.6   1. 创建必要目录 sudo mkdir ~/setup sudo mkdir /opt/software sudo chmod 777 /opt/software   2.

我的操作系统是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/
复制代码

以上软件我已经打包好放到百度网盘,相关链接:http://pan.baidu.com/s/1o6DL4EI

 

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

 

 

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

作者:Bonker
出处:http://www.cnblogs.com/Bonker
QQ:519841366
       
本页版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
Ubuntu 关系型数据库 MySQL
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
使用Ubuntu和Windows电脑实现Mysql主从同步(详细操作步骤)
28 2
|
3月前
|
Ubuntu 关系型数据库 MySQL
百度搜索:蓝易云【ubuntu下Mysql安装与root密码重置教程】
请注意,以上步骤是针对Ubuntu系统的。如果你使用的是其他Linux发行版,请相应地调整命令。
110 1
|
1月前
|
Ubuntu 关系型数据库 MySQL
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
【MySQL】Navicat/SQLyog连接Ubuntu中的数据库(MySQL)
|
28天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
68 0
|
3月前
|
Ubuntu 固态存储 算法框架/工具
ubuntu下编译ssd-caffe遇到的问题汇总
ubuntu下编译ssd-caffe遇到的问题汇总
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
206 0
|
1月前
|
NoSQL Java 应用服务中间件
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
使用innoSetup将mysql+nginx+redis+jar包打包成windows安装包
|
2月前
|
Ubuntu 安全 关系型数据库
在 Ubuntu上安装 MySQL
在 Ubuntu上安装 MySQL
63 0
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
61 0
|
3月前
|
Ubuntu C++
百度搜索:蓝易云【Ubuntu下编译OCC教程】
请注意,以上只是概述,并不包含详细的步骤和指令。编译OpenCASCADE是一个复杂的过程,需要有一定的编译和C++编程经验。建议在编译OpenCASCADE之前,先学习相关知识并查阅官方文档和教程,以确保正确编译和使用OpenCASCADE库。
25 0