一:安装Nginx
安装前需要安装 pcre(支持nginx伪静态)mkdir /usr/local/pcre #创建安装目录
进入pcre 目录以版本pcre-8.34为例:cd pcre-8.34
./configure --prefix=/local/pcre #配置安装目录
make
make install
安装完成后,开始编译安装Nginx
为Nginx添加运行的用户useradd www -s /sbin/nologin
mkdir -p /usr/local/nginx-1.4.4 #创建nginx安装目录
tar zxvf nginx-1.4.4.tar.gz #cd nginx-1.4.4
./configure --prefix=/usr/local/nginx --without-http_memcached_module
--user=www --group=www --with-http_stub_status_module
--with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.34
注意:--with-pcre=/usr/local/src/pcre-8.34指向的是源码包解压的路径,而不是安装的路径,否则会报错make
(编译Nginx如果提示gzip module requires the zlib library 则需要安装“zlib-devel”:yum install -y zlib-devel)make install
/usr/local/nginx/sbin/nginx #启动nginx
二、安装mysql
以版本mysql-5.5.35为例
安装前需要安装cmake 配置时需要tar zxvf cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1
./configure
make #编译
make install #安装
安装mysqluseradd mysql -s /sbin/nologin #创建用户mysql,不允许mysql用户直接登录系统
mkdir -p /data/mysql #创建MySQL数据库存放目录
chown -R mysql /data/mysql #设置MySQL数据库目录权限
mkdir -p /usr/local/mysql-5.5.35 #创建MySQL安装目录
tar zxvf mysql-5.5.35.tar.gz #解压
cd mysql-5.5.35
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息。make clean
rm -f CMakeCache.txt
rm -rf /etc/my.cnfmake #编译
make install #安装
cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
vi /etc/my.cnf #编辑配置文件,在 [mysqld] 部分增加datadir = /data/mysql #添加MySQL数据库路径
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql #生成mysql系统数据库
(--datadir=/data/mysql 如果这个不写,可能会导致启动不了)
./support-files/mysql.server start #启动mysql
./bin/mysql_secure_installation #设置Mysql密码,
根据提示按Y 回车输入2次密码/usr/local/mysql/bin/mysqladmin -u root -p password "123456" #或者直接修改密码
到此,mysql安装完成!
三 :安装php
下载libmcrypt(PHPlibmcrypt模块libmcrypt-2.5.8.tar.gz)
下载GD库安装包(php页面图片验证码支持gd-2.0.36RC1.tar.gz)
安装libmcrypttar zxvf libmcrypt-2.5.8.tar.gz #解压
cd libmcrypt-2.5.8 #进入目录
./configure #配置
make #编译
make install #安装
安装gd库tar zxvf gd-2.0.36RC1.tar.gz
cd gd-2.0.36RC1
./configure
--enable-m4_pattern_allow --prefix=/usr/local/gd
--with-jpeg=/usr/lib --with-png=/usr/lib --with-xpm=/usr/lib
--with-freetype=/usr/lib --with-fontconfig=/usr/lib #配置
make #编译
make install #安装
安装php (php-5.3.28.tar.gz 为例)tar -zvxf php-5.3.28.tar.gzcd php-5.3.28mkdir -p /usr/local/php-5.3.28 #建立php安装目录
./configure
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql
--with-gd=/usr/local/gd --with-png-dir=/usr/lib --with-jpeg-dir=/usr/lib
--with-freetype-dir=/usr/lib --with-iconv --with-zlib --enable-xml
--enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop
--enable-sysvsem --enable-inline-optimization --with-curlwrappers
--enable-mbregex --enable-fpm --enable-mbstring --enable-ftp
--enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets
--with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext
--enable-session --with-mcrypt --with-curl --enable-ctype #配置
配置过程中,如果出现 error: xml2-config not found. Please check your libxml2 installation错误
下载libxml(libxml2-2.6.26.tar.gz)编译安装
安装 libxmlcd libxml2-2.6.26.tar.gz
./configure
make
make install
如果出现 error: Cannot find OpenSSL's
安装 openssl-devel 用yum 安装yum install openssl-devel
如果出现:cURL reinstall the libcurl这样的问题 则安装 curl curl-develyum install curl curl-devel
如果出现Configure: error: freetype.h not found.yum install freetype-devel
如果出现./gd.c:1330: undefined reference to
1、先用rpm -ql libXpm找出安装的位置
2、然后在./configure后加入 --with-xpm-dir=xxxx (xxx为位置)make #编译
make install #安装
cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录
vi /usr/local/php/etc/php-fpm.conf #编辑
user = www #设置php-fpm运行账号为www
group = www #设置php-fpm运行组为www
pid = run/php-fpm.pid #取消前面的分号
保存退出vi /usr/local/php/etc/php.ini #编辑配置文件
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = OFF #禁止显示php版本的信息
找到:short_open_tag = Off
修改为:short_open_tag = ON #支持php短标签
四、配置nginx支持phpvi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,
否则php运行出错index index.php index.html index.htm; #添加index.php
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}
#取消FastCGI server部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
#重启nginx
如果重启过程中出现
root@localhost sbin]# ./nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决方法:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
使用nginx -c的参数指定nginx.conf文件的位置