一. 安装依赖包
sudo apt-get install gcc make gdb autoconf g++ libncurses5-dev curl libssl-dev libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libfreetype6-dev libsasl2-dev libperl-dev libtool libxml2-dev libtidy-dev libpcre3 libpcre3-dev libmcrypt-dev libmhash-dev
二. mysql 安装
1. 下载mysql-5.1.40.tar.gz ,即mysql-5.1.40 的源代码压缩包。
2. 进入压缩包所在的目录,执行tar zxvf mysql-5.1.40.tar.gz 。
3. cd mysql-5.1.40
4. autoreconf --force --install
5. aclocal
6. libtoolize --automake --force
7. automake --force --add-missing
8. CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti"
9. ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --enable-thread-safe-client --with-extra-charsets=all --with-client-ldflags=-all-static -with-mysqld-ldflags=-all-static --enable-assembler --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --sysconfdir=/usr/local/mysql/etc --disable-shared --without-debug --enable-largefile --with-big-tables --without-uca --with-mysqld-user=mysql --with-pthread --with-pstack --with-plugins=all
10. make
11. sudo make install
12. cd /usr/local/mysql
13. sudo chown -R mysql .
14. sudo chgrp -R mysql .
15. sudo gedit /etc/mysql/my.cnf 把skip-bdb 一行注释掉
16. sudo bin/mysql_install_db --user=mysql -- --basedir=/usr/local/mysql
17. sudo chown -R root .
18. sudo ln -s /usr/local/mysql/share/mysql /usr/share/
16,18 也可以通过修改/etc/mysql/my.cnf 中相关参数解决。
经过以上安装步骤,mysql 安装成功。
mysql 服务器管理
启动mysql: sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
为root 用户设定密码: sudo /usr/local/mysql/bin/mysqladmin -u root password 'new-password'
连接mysql 服务器: sudo /usr/local/mysql/bin/mysql -u root -p
关闭mysql: sudo /usr/local/mysql/bin/mysqladmin shutdown -p
设置 mysql 服务器开机自启动
cp support-files/mysql.server /etc/init.d/mysqld
ln -s /etc/init.d/mysqld /etc/rc2.d/S99mysql
ln -s /etc/init.d/mysqld /etc/rc0.d/K01.mysql
二 php 安装
1. 下载php-5.3.1.tar.gz ,即php-5.3.1 的源代码压缩包。
2. 进入压缩包所在的目录,执行tar zxvf php-5.3.1.tar.gz 。
3. cd php-5.3.1
4. ./configure --prefix=/usr/local/php \
--with-openssl \
--enable-bcmath \
--enable-safe-mode \
--with-curl \
--with-gd \
--enable-mbstring \
--with-mysql=/usr/local/mysql \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-tidy \
--with-mcrypt \
--with-config-file-path=/etc
5. make
6. sudo make install
7. cp php.ini-development /etc/php.ini
三 nginx 安装
下载nginx-0.7.64.tar.gz ,即nginx-0.7.64 的源代码压缩包。
进入压缩包所在的目录,执行tar zxvf nginx-0.7.64.tar.gz 。
cd nginx-0.7.64
./configure –prefix= /usr/local/nginx
make;
sudo make install
使 nginx 支持 php
sudo gedit /usr/local/nginx/conf/nginx.cnf
在文件中增加如下配置:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
nginx 管理
启动Nginx: sudo /usr/local/nginx/sbin/nginx
重启Nginx: sudo kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
停止Nginx: sudo killall nginx
四 安装spawn-fcgi
Php 使用fastcgi 方式配置,但是直接使用php-cgi 的FastCGI 运行方式有两个问题
如果进程崩溃,难以配置重新启动
单进程的效率低
所以,我们使用Lighttpd 的spawn-fcgi 来控制进程的运行。本来spawn-fcgi 是Lighttpd 的一个模块,现在已经成为一个独立的开源项目。
下载spawn-fcgi-1.6.3.tar.gz ,即spawn-fcgi-1.6.3 的源代码压缩包。
进入压缩包所在的目录,执行tar zxvf spawn-fcgi-1.6.3.tar.gz 。
cd spawn-fcgi-1.6.3
./configure –prefix= /usr/local/spawn-fcgi
make;
sudo make install
spawn-fcgi 的管理
监听PHP :
sudo /usr/local/spawn-fcgi/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/local/php/bin/php-cgi
参数含义如下
* -f 指定调用FastCGI 的进程的执行程序位置,根据系统上所装的PHP 的情况具体设置
* -a 绑定到地址addr
* -p 绑定到端口port
* -s 绑定到unix socket 的路径path
* -C 指定产生的FastCGI 的进程数,默认为5 (仅用于PHP )
* -P 指定产生的进程的PID 文件路径
* -u 和 -g FastCGI 使用什么身份( -u 用户 -g 用户组)运行, Debian 下可以使用 www-data ,其他的根据情况配置,如 nobody 、 apache 等
五 安装phpMyAdmin
下载phpMyAdmin-3.2.3-all-languages.tar.gz 。
进入压缩包所在的目录,执行sudo tar zxvf phpMyAdmin-3.2.3-all-languages.tar.gz -C /usr/local/nginx/html/ 。
sudo mv /usr/local/nginx/html/phpMyAdmin-3.2.3-all-languages /usr/local/nginx/html/mysqlAdmin