Nginx+php+mysql+phpadmin 安装

centos6.2

nginx:1.5.4
php:5.5.3
mysql:5.6.13

1、环境情况:

操作系统:windows8
虚拟主机:vmware workstation
虚拟系统:centos6.2
操作用户:cwt(注意:非root)
实现目的:PHP环境

2、安装依赖的库

yum -y install gcc gcc-c++ autoconf 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 nss_ldap openldap-clients openldap-servers

NGINX
yum -y install pcre-devel  zlib-devel

PHP:
yum -y install gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel

MYSQL:
yum -y install bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* mysql-devel

3、下载依赖安装包:

#PHP
wget http://cn2.php.net/distributions/php-5.5.3.tar.gz

#PHP依赖库
wget http://ncu.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
wget http://ncu.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
wget http://ncu.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

#nginx
wget http://nginx.org/download/nginx-1.5.4.tar.gz

#nginx依赖包(pcre)
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz

#mysql
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz

#mysql(cmake)
wget http://www.cmake.org/files/v2.8/cmake-2.8.6.tar.gz

4、安装mysql(或参考之前的mysql文档)

a、安装cmake
tar xvzf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
gmake
sudo gmake install

b、安装mysql
添加组合用户
sudo useradd -g mysql mysql
sudo mkdir -p /data/mysql
sudo chown mysql:mysql /data/mysql

安装msyql
tar xvzf mysql-5.6.13.tar.gz
cd mysql-5.6.13
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/
make
sudo make install
cd /usr/local/mysql
sudo cp ./support-files/my-default.cnf /etc/my.cnf
sudo vim /etc/my.cnf
#设置Mysql
#在support-files目录中有五个配置信息文件:
#my-small.cnf (内存<=64M)
#my-medium.cnf (内存 128M)
#my-large.cnf (内存 512M)
#my-huge.cnf (内存 1G-2G)
#my-innodb-heavy-4G.cnf (内存 4GB)
cd /usr/local/mysql
cp ./support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
#在 [mysqld] 段增加
datadir = /data/mysql
wait-timeout = 30
max_connections = 512
default-storage-engine = MyISAM
#在 [mysqld] 段修改
max_allowed_packet = 16M

#生成授权表
cd /usr/local/mysql
./scripts/mysql_install_db –user=mysql

sudo cp mysql.server /etc/init.d/mysql
cd /usr/local/mysql/scripts
sudo ./mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql
sudo /usr/local/mysql/bin/mysqld_safe &

#更改密码
/usr/local/mysql/bin/mysqladmin -u root password cwtnqwjx
/usr/local/mysql/bin/mysql -u root -p

开机启动:
sudo vim /etc/rc.d/rc.local
添加:
/usr/local/mysql/bin/mysqld_safe &

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

5、安装PHP

a、安装依赖包
tar xvzf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure –prefix=/usr/local
make
sudo make install

——————————————————————————————
tar xvzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
sudo make install
——————————————————————————————
sudo ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
sudo ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
sudo ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
sudo ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
sudo ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
sudo ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
sudo ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
sudo ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
sudo ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
sudo ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

——————————————————————————————
tar xvzf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8

./configure
这里会有错误:
configure: error: Don’t know how to define struct flock on this system, set –enable-opcache=no
解决方法:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

make
make时会报错:
undefined reference to `libiconv’
./configure … 之后,修改下 Makefile,找到其中的
EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt

后面添加:
-liconv

添加后效果:
EXTRA_LIBS = -lcrypt -lz -lcrypt -lrt -lmysqlclient -lmcrypt -lldap -llber -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lrt -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lcurl -ldl -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lidn -lssl -lcrypto -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -liconv

sudo make install

配置php:
cd php-5.5.3
sudo cp php.ini-development /usr/local/php/etc/php.ini

添加用户和组:
sudo groupadd www
sudo useradd -g www www

sudo mkdir -p /var/log/nginx
sudo chmod +w /var/log/nginx
sudo chown -R www:www /var/log/nginx

更改php-fpm
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
sudo vim /usr/local/php/etc/php-fpm.conf#修改用户和组

#去掉/更改 配置文件中的;
pm.max_children = 64
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 1024
user = www
group = www

#检查语法是否正确
sudo /usr/local/php/sbin/php-fpm -t
出现NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful 测试成功

启动:
sudo /usr/local/php/sbin/php-fpm &

检查是否启动:
localhost# ps aux | grep php
root      3363  0.0  0.0   2280   552 pts/0    S+   17:38   0:00 grep php
root     28831  0.0  0.3  41740  3388 ?        SNs  15:52   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www      28832  0.0  0.3  41740  3492 ?        SN   15:52   0:00 php-fpm: pool www
www      28833  0.0  0.3  41740  3492 ?        SN   15:52   0:00 php-fpm: pool www
www      28834  0.0  0.3  41740  3492 ?        SN   15:52   0:00 php-fpm: pool www
www      28835  0.0  0.4  41740  4796 ?        SN   15:52   0:00 php-fpm: pool www
www      28836  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28837  0.0  0.3  41740  3692 ?        SN   15:52   0:00 php-fpm: pool www
www      28838  0.0  0.3  41740  3492 ?        SN   15:52   0:00 php-fpm: pool www
www      28839  0.0  0.3  41740  3692 ?        SN   15:52   0:00 php-fpm: pool www
www      28840  0.0  0.3  41740  3692 ?        SN   15:52   0:00 php-fpm: pool www
www      28841  0.0  0.3  41740  3692 ?        SN   15:52   0:00 php-fpm: pool www
www      28842  0.0  0.4  41740  4800 ?        SN   15:52   0:00 php-fpm: pool www
www      28843  0.0  0.3  41740  3692 ?        SN   15:52   0:00 php-fpm: pool www
www      28844  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28845  0.0  0.4  41740  4800 ?        SN   15:52   0:00 php-fpm: pool www
www      28846  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28847  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28848  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28849  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28850  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www
www      28851  0.0  0.2  41740  2884 ?        SN   15:52   0:00 php-fpm: pool www

添加开机启动:
sudo vim /etc/rc.d/rc.local
添加
/usr/local/php/sbin/php-fpm &

——————————————————————————————

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

6、安装Ngin

a、安装依赖包
tar xvzf pcre-8.33.tar.gz
cd pcre-8.33
./configure
make
sudo make install
——————————————————————————————

tar xvzf nginx-1.5.4.tar.gz
cd nginx-1.5.4
./configure –user=www –group=www \
–prefix=/usr/local/nginx \
–sbin-path=/usr/local/nginx/sbin/nginx \
–conf-path=/usr/local/nginx/conf/nginx.conf \
–with-http_stub_status_module \
–with-http_ssl_module \
–with-pcre \
–lock-path=/var/run/nginx.lock \
–pid-path=/var/run/nginx.pid

make
sudo make install
sudo vim /usr/local/nginx/conf/nginx.conf

#修改一些参数,别直接替换文件,这只是一部分
user www

events {
use epoll;
worker_connections  1024;
}

location ~ \.php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#include        fastcgi_params;
include        /usr/local/nginx/conf/fastcgi.conf;
}

#检测配置文件
sudo /usr/local/nginx/sbin/nginx -t
#提示表示成功
#nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
#nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

sudo /usr/local/nginx/sbin/nginx &

#平滑重启Nginx
/usr/local/nginx/sbin/nginx -s reload

#添加开机启动
sudo vim /etc/rc.d/rc.local
#最后移行加入
/usr/local/nginx/sbin/nginx

#测试
cd /usr/local/nginx/html/
touch index.php
vi /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

这个地方会遇到大麻烦了,html可以正常访问,php不能正常访问:
directory index of “/usr/local/nginx/html/
这个时候需要修改文件用户组

FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream,
注意脚本是否加载正确,这是我修改后的路径:

include        /usr/local/nginx/conf/fastcgi.conf;

平滑启动:
nginx -s reload

wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tar xvzf zendopcache-7.0.2.tgz
;cd zendopcache-7.0.2
sudo /usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
sudo make install

posted @ 2014-03-02 23:17  玄奘三藏  阅读(1636)  评论(0编辑  收藏  举报