linux下nginx+php+mysql环境搭建
++++++++++++++++++++++++++++++++++++++++++++++
linux下nginx+php+mysql环境搭建
++++++++++++++++++++++++++++++++++++++++++++++
操作系统 : [CentOS6.0]
服务器 : [nginx-1.1.8]
PHP : [php-5.2.6]
数据库 : [mysql-5.1.59]
++++++++++++++++++++++++++++++++++++++++++++++
准备安装软件(donload)
1>[nginx-1.1.8]
http://nginx./donload/nginx-1.1.8.tar.gz
2>[php-5.2.6]
http://museum.php./php5/php-5.2.6.tar.gz
3>[php-5.2.6-fpm-0.5.8.diff.gz]
http://php-fpm./donloads/php-5.2.6-fpm-0.5.8.diff.gz
4>[mysql-5.1.59]
http://donloads.mysql./archives/mysql-5.1/mysql-5.1.59.tar.gz
5>[libxml2-2.6.30]
http://donload.chinaunix./don.php?id=28491&ResourceID=6095&site=1
6>[libmcrypt-2.5.8]
http://sourcefe./projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/donload
7>[zlib-1.2.3]
http://sourcefe./projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/donload
8>[libpng-1.2.31]
http://files.directadmin./services/custombuild/libpng-1.2.31.tar.gz
9>[jpegsrc.v6b]
http://donload.chinaunix./don.php?id=10021&ResourceID=5095&site=1
10>[freetype-2.3.5]
http://nongnu.askapache./freetype/freetype-2.3.5.tar.gz
11>[autoconf-2.61]
http://ftp.gnu./gnu/autoconf/autoconf-2.61.tar.gz
12>[gd-2.0.35]
http://code.google./p/google-desk-for-linux-mirror/donloads/detail?name=gd-2.0.35.tar.gz&can=2&q=
13>[ncurses-5.6]
http://ftp.gnu./gnu/ncurses/ncurses-5.6.tar.gz
14>[pcre-8.10]
http://sourcefe./projects/pcre/files/pcre/8.10/pcre-8.10.tar.gz/donload
15>[openssl-1.0.0e]
http://.openssl./source/openssl-1.0.0e.tar.gz
+++++++++++++++++++++++++++++++++++++++++++++
1>【安装g, g-c++】
[html] vie plaincopy
yum install g
yum install g-c++
2>【开放80、3306、22端口】
[html] vie plaincopy
#关闭防火墙
service iptables s
vi /etc/sysconfig/iptables
#添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#重启防火墙
service iptables restart
3>【建立lamp/src目录, 将源码包上传】
4>【安装libxml2】
[html] vie plaincopy
tar -zxvf libxml2-2.6.30.tar.gz
cd libxml2-2.6.30
./configure --prefix=/usr/local/libxml2/
make
make install
5>【安装libmcrypt】
[html] vie plaincopy
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt/ --enable-ltdl-install
make
make install
6>【安装libxml2-devel】
[html] vie plaincopy
yum install libxml2-devel
7>【安装zlib】
[html] vie plaincopy
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install
8>【安装libpng】
[html] vie plaincopy
tar -zxvf libpng-1.2.31.tar.gz
cd libpng-1.2.31
./configure --prefix=/usr/local/libpng/
make
make install
9>【安装jpegsrc.v6b】
[html] vie plaincopy
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man/man1
tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
10>【安装freetype】
[html] vie plaincopy
tar -zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype/
make
make install
11>【安装autoconf】
[html] vie plaincopy
tar -zxvf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure
make
make install
12>【安装gd】
[html] vie plaincopy
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd2/ --ith-jpeg=/usr/local/jpeg6/ --ith-freetype=/usr/local/freetype/
make
make install
13>【pcre-8.10】
[html] vie plaincopy
tar -zxvf pcre-8.10.tar.gz
cd pcre-8.10
./configure
make
make install
14>【安装openssl】
[html] vie plaincopy
tar -zxvf openssl-1.0.0e.tar.gz
cd openssl-1.0.0e
./config --prefix=/usr/local/openssl
make
make install
15>【安装nginx】
[html] vie plaincopy
groupadd
useradd -g
tar -zxvf nginx-1.1.8.tar.gz
cd nginx-1.1.8
./configure --user= --group= --prefix=/usr/local/nginx --ith-openssl=/lamp/src/openssl-1.0.0e --ith-http_stub_status_module --ith-http_ssl_module
make
make install
16>【安装ncurses】
[html] vie plaincopy
tar -zxvf ncurses-5.6.tar.gz
cd ncurses-5.6
./configure --ith-shared --ithout-debug --ithout-ada --enable-overrite
make
make install
17>【安装mysql】
[html] vie plaincopy
groupadd mysql
useradd -g mysql mysql
tar -zxvf mysql-5.1.59.tar.gz
cd mysql-5.1.59
./configure --prefix=/usr/local/mysql/ --ith-extra-charsets=all
make
make install
cp support-files/my-medium.f /etc/my.f
/usr/local/mysql/bin/mysql_install_db --user=mysql
chon -R root /usr/local/mysql
chon -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
cp /lamp/src/mysql-5.1.59/support-files/mysql.server /etc/rc.d/init.d/mysqld
chon root.root /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
chkconfig --levels 245 mysqld off
#配置mysql
cd /usr/local/mysql
#简单的测试
bin/mysqladmin version
#查看所有mysql参数
bin/mysqladmin Variables
#没有密码可以直接登录本机服务器
bin/mysql -uroot
DELETe FROM mysql.user WHERe Host='localhost' AND User='';
FLUSH PRIVILEGES;
#设置root密码为123456
SET PASSWORD FOR 'root'@'localhost' = PASSWORd('123456');
#配置可远程连接mysql
use mysql
SELECt user,passord,host FROM user;
DELETe FROM user WHERe host='localhsot.localdomain'
DELETe FROM user WHERe host='127.0.0.1';
UPDATE user SET host='%' WHERe user='root';
#重启mysql
service mysqld restart
18>【安装php】
[html] vie plaincopy
tar -zxvf php-5.2.6.tar.gz
gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1
cd php-5.2.6
./configure --prefix=/usr/local/php/ --ith-config-file-path=/usr/local/php/etc/ --ith-mysql=/usr/local/mysql/ --ith-libxml-dir=/usr/local/libxml2/ --ith-jpeg-dir=/usr/local/jpeg6/ --ith-freetype-dir=/usr/local/freetype/ --ith-gd=/usr/local/gd2/ --ith-mcrypt=/usr/local/libmcrypt/ --ith-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fastcgi --enable-fpm
make
make install
cp php.ini-dist /usr/local/php/etc/php.ini
#修改php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf
#查找63,66行将注释去掉
nobody nobody #启动php
/usr/local/php/sbin/php-fpm start
19>【nginx配置】
[html] vie plaincopy
vi /usr/local/nginx/conf/nginx.conf
#在server下找到location / 修改解析PHP文件存放的路径, 修改为:
location / {
root /var//html;
index index.html index.htm index.php;
}
#root表示虚拟目录设置为/var//html,增加默认解析index.php
#在server下找到location ~ /.php$ 修改php解释器FastCGI配置,修改为:
location ~ .php$ {
root /var//html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME /var//html$fastcgi_script_name;
include fastcgi_params;
}
#将nginx添加到自启动中
echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local
#将php添加到自启动中
echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.d/rc.local
20>【nginx虚拟主机配置】
vi /usr/local/nginx/conf/nginx.conf
#在http一行加入
include /usr/local/nginx/conf/vhost/dev_localhost.config;
#不带url重写
[html] vie plaincopy
server {
listen 80 default;
server_name dev.localhost;
aess_log logs/dev.aess.log;
root /var//html/dev;
server_name_in_redirect off;
location / {
index index.html index.php;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#带url重写(zend frameork)
[html] vie plaincopy
server {
listen 80;
server_name dev.localhost;
aess_log logs/dev.aess.log;
root /var//html/dev/code/html;
location / {
index index.html index.php;
if (-e $request_filename ) {
break;
}
if ( $request_filename ~ .(js|ico|gif|jpg|jpeg|xml|sf|txt|png|css|html|htm)$ ) {
return 404;
}
rerite . index.php;
}
location ~ ..php$ {
include fastcgi_params;
fastcgi_param script_FILENAME $document_root/index.php;
#fastcgi_param REQUEST_URI $document_uri?$query_string;
fastcgi_read_timeout 120;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
[html] vie plaincopy
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
#重启php
/usr/local/php/sbin/php-fpm restart