共计 9007 个字符,预计需要花费 23 分钟才能阅读完成。
我的操作系统是 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/1i3mYVn3
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!
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 安装配置使用详细笔记 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里
更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/115788.htm