一、CentOS 5.5 操作系统的安装
操作系统这里我们仍采用 CentOS 5.5 来说明 Linux 下的 Nginx 安装与配置。关于CentOS的安装与注意事项请大家点击这里:(其中包含配置yum的步骤,因为我们接下来会使用到yum)。
二、准备工作
和Apache的配置相同,我们就来进行一些准备工作,譬如创建网站目录,日志目录等。然后安装服务器的相关软件。
(1) 创建网站目录和日志目录
shell> mkdir -p /www/mysql # MySQL数据库文件
shell> mkdir -p /www/htdocs # 网站主目录
shell> mkdir -p /var/log/php # PHP日志目录
shell> mkdir -p /var/log/mysql # MySQL日志目录
(2) 改变MySQL属主和用户组
shell> chown -R mysql:mysql /www/mysql
shell> chown -R mysql:mysql /var/log/mysql
(3) 改变网站目录属主和用户组
shell> chown -R www:www /www/htdocs
shell> chown -R www:www /var/log/php
注:如果 mysql 等用户不存在,则需要事先通过 useradd 指令创建。这里我们创建的 www 用户和用户组,用于 Nginx 守护进程。
shell> useradd -s /sbin/nologin -M mysql
二、服务器软件的安装与配置
1. yum安装MySQL
# 安装系统组件,这些大都是一些编译环境、PHP扩展等等,如果这些都使用源代码安装,那是一个痛苦的过程。
shell> yum -y install gcc gcc-c++ autoconf make
shell> yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers
shell> yum -y install mysql mysql-devel mysql-server
在安装过程中,我们看到使用了上述我们的非官方源进行更新,通过这种方式安装的软件版本分别为: MySQL 5.1.50 ( 截止到2010-09-16)
2. MySQL 的启动与基本配置
系统已经安装好了 MySQL 数据库,我们来稍作配置后然后启动它,因为初次启动会安装数据库文件,所以要对my.cnf里的配置进行一些修改,尤其是数据库文件存放位置。
# 复制一个样本,/usr/share/mysql 目录下有好多样本,请自主选择。
shell> cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
修改配置文件,我们稍作修改
# 注:是在原有my.cnf基础上进行修改,没有的选项添加
shell> vi /etc/my.cnf
[client]
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set = utf8
[mysqld]
user = mysql
datadir = /www/mysql
log-error = /var/log/mysql/mysql_error.log
log-bin=/var/log/mysql/mysql-bin
character-set-server = utf8
启动 MySQL,或者使用 service mysqld start ,系统会提示安装数据库,然后启动成功。否则请查看由 log-error 配置项定义的错误信息。
shell> /etc/init.d/mysqld start
MySQL 初始安装启动后是可以用匿名空密码登陆的,我们需要删除匿名用户,更改root账户密码
shell> mysql
mysql> UPDATE mysql.user SET password = PASSWORD('cmstop') WHERE user = 'root';
mysql> DELETE FROM mysql.user WHERE user = '';
mysql> FLUSH PRIVILEGES;
# 查看MySQL 支持插件情况 注:这种方式安装的MySQL 默认支持 InnoDB, 查看该值后面是否为 YES
mysql> SHOW VARIABLES LIKE '%have%';
# 查看MySQL 字符集,应该都是 utf8
mysql> SHOW VARIABLES LIKE '%char%';
3. 安装Nginx
接下来我们采用源代码的方式安装Nginx + PHP ,首先下载程序所需源码包:
shell> cd ~
(感谢张宴为大家提供的源码包镜像,原文出处:http://blog.s135.com/nginx_php_v6/)
wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.14.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.14-fpm-0.5.14.diff.gz
wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz
wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz
(1) 安装 Nginx 所需的pcre库
shell> tar zxvf pcre-8.10.tar.gz
shell> cd pcre-8.10/
shell> ./configure --enable-utf8 --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-unicode-properties
shell> make && make install
shell> cd ..
(2) 安装 Nginx