Heim >php教程 >php手册 >linux下nginx+php+mysql环境搭建

linux下nginx+php+mysql环境搭建

WBOY
WBOYOriginal
2016-06-06 19:46:031390Durchsuche

linux下nginx+php+mysql环境搭建 ++++++++++++++++++++++++++++++++++++++++++++++ 操作系统 : [CentOS6.0] 服务器 : [nginx-1.1.8] PHP : [php-5.2.6] 数据库 : [mysql-5.1.59] ++++++++++++++++++++++++++++++++++++++++++++++ 准备安装软件(download) 1[n

linux下nginx+php+mysql环境搭建

++++++++++++++++++++++++++++++++++++++++++++++

操作系统    : [CentOS6.0]

服务器     : [nginx-1.1.8]

PHP      : [php-5.2.6]

数据库     : [mysql-5.1.59]

++++++++++++++++++++++++++++++++++++++++++++++

准备安装软件(download)  

1>[nginx-1.1.8]       http://nginx.org/download/nginx-1.1.8.tar.gz  

2>[php-5.2.6]       http://museum.php.net/php5/php-5.2.6.tar.gz  

3>[php-5.2.6-fpm-0.5.8.diff.gz]       http://php-fpm.org/downloads/php-5.2.6-fpm-0.5.8.diff.gz  

4>[mysql-5.1.59]       http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.59.tar.gz  

5>[libxml2-2.6.30]       http://download.chinaunix.net/down.php?id=28491&ResourceID=6095&site=1  

6>[libmcrypt-2.5.8]       http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download  

7>[zlib-1.2.3]       http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/download  

8>[libpng-1.2.31]       http://files.directadmin.com/services/custombuild/libpng-1.2.31.tar.gz  

9>[jpegsrc.v6b]       http://download.chinaunix.net/down.php?id=10021&ResourceID=5095&site=1

10>[freetype-2.3.5]        http://nongnu.askapache.com/freetype/freetype-2.3.5.tar.gz

11>[autoconf-2.61]        http://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz

12>[gd-2.0.35]        http://code.google.com/p/google-desktop-for-linux-mirror/downloads/detail?name=gd-2.0.35.tar.gz&can=2&q=

13>[ncurses-5.6]        http://ftp.gnu.org/gnu/ncurses/ncurses-5.6.tar.gz

14>[pcre-8.10]        http://sourceforge.net/projects/pcre/files/pcre/8.10/pcre-8.10.tar.gz/download

15>[openssl-1.0.0e]        http://www.openssl.org/source/openssl-1.0.0e.tar.gz +++++++++++++++++++++++++++++++++++++++++++++

 

1>【安装gcc, gcc-c++】

[html] view plaincopyprint?

  1. yum install gcc  
  2. yum install gcc-c++  
 

2>【开放80、3306、22端口】

[html] view plaincopyprint?

  1. #关闭防火墙  
  2. service iptables stop  
  3. vi /etc/sysconfig/iptables  
  4. #添加  
  5. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT  
  6. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT  
  7. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
  8. #重启防火墙  
  9. service iptables restart  
 

3>【建立lamp/src目录, 将源码包上传】 4>【安装libxml2】

[html] view plaincopyprint?

  1. tar -zxvf libxml2-2.6.30.tar.gz  
  2. cd libxml2-2.6.30  
  3. ./configure --prefix=/usr/local/libxml2/  
  4. make   
  5. make install  
 

5>【安装libmcrypt】

[html] view plaincopyprint?

  1. tar -zxvf libmcrypt-2.5.8.tar.gz  
  2. cd libmcrypt-2.5.8  
  3. ./configure --prefix=/usr/local/libmcrypt/ --enable-ltdl-install  
  4. make  
  5. make install  
 

6>【安装libxml2-devel】

[html] view plaincopyprint?

  1. yum install libxml2-devel  
 

7>【安装zlib】

[html] view plaincopyprint?

  1. tar -zxvf zlib-1.2.3.tar.gz  
  2. cd zlib-1.2.3  
  3. ./configure  
  4. make  
  5. make install  
 

8>【安装libpng】

[html] view plaincopyprint?

  1. tar -zxvf libpng-1.2.31.tar.gz  
  2. cd libpng-1.2.31  
  3. ./configure --prefix=/usr/local/libpng/  
  4. make  
  5. make install  
 

9>【安装jpegsrc.v6b】

[html] view plaincopyprint?

  1. mkdir /usr/local/jpeg6  
  2. mkdir /usr/local/jpeg6/bin  
  3. mkdir /usr/local/jpeg6/lib  
  4. mkdir /usr/local/jpeg6/include  
  5. mkdir -p /usr/local/jpeg6/man/man1  
  6.   
  7. tar -zxvf jpegsrc.v6b.tar.gz  
  8. cd jpeg-6b  
  9. ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static  
  10. make  
  11. make install  
 

10>【安装freetype】

[html] view plaincopyprint?

  1. tar -zxvf freetype-2.3.5.tar.gz  
  2. cd freetype-2.3.5  
  3. ./configure --prefix=/usr/local/freetype/  
  4. make  
  5. make install  
 

11>【安装autoconf】

[html] view plaincopyprint?

  1. tar -zxvf autoconf-2.61.tar.gz  
  2. cd autoconf-2.61  
  3. ./configure  
  4. make  
  5. make install  
 

12>【安装gd】

[html] view plaincopyprint?

  1. tar -zxvf gd-2.0.35.tar.gz  
  2. cd gd-2.0.35  
  3. ./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype/  
  4. make  
  5. make install  
 

13>【pcre-8.10】

[html] view plaincopyprint?

  1. tar -zxvf pcre-8.10.tar.gz  
  2. cd pcre-8.10  
  3. ./configure  
  4. make  
  5. make install  
 

14>【安装openssl】

[html] view plaincopyprint?

  1. tar -zxvf openssl-1.0.0e.tar.gz  
  2. cd openssl-1.0.0e  
  3. ./config --prefix=/usr/local/openssl  
  4. make  
  5. make install  
 

15>【安装nginx】

[html] view plaincopyprint?

  1. groupadd www  
  2. useradd -g www www  
  3. tar -zxvf nginx-1.1.8.tar.gz  
  4. cd nginx-1.1.8  
  5. ./configure --user=www --group=www --prefix=/usr/local/nginx --with-openssl=/lamp/src/openssl-1.0.0e --with-http_stub_status_module --with-http_ssl_module   
  6. make  
  7. make install  
 

16>【安装ncurses】

[html] view plaincopyprint?

  1. tar -zxvf ncurses-5.6.tar.gz  
  2. cd ncurses-5.6  
  3. ./configure --with-shared --without-debug --without-ada --enable-overwrite  
  4. make  
  5. make install  
 

17>【安装mysql】

[html] view plaincopyprint?

  1. groupadd mysql  
  2. useradd -g mysql mysql  
  3. tar -zxvf mysql-5.1.59.tar.gz  
  4. cd mysql-5.1.59  
  5. ./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all  
  6. make  
  7. make install  
  8.   
  9. cp support-files/my-medium.cnf /etc/my.cnf  
  10. /usr/local/mysql/bin/mysql_install_db --user=mysql  
  11. chown -R root /usr/local/mysql  
  12. chown -R mysql /usr/local/mysql/var  
  13. chgrp -R mysql /usr/local/mysql  
  14.   
  15. /usr/local/mysql/bin/mysqld_safe  --user=mysql &  
  16. cp /lamp/src/mysql-5.1.59/support-files/mysql.server /etc/rc.d/init.d/mysqld  
  17. chown root.root /etc/rc.d/init.d/mysqld  
  18. chmod 755 /etc/rc.d/init.d/mysqld  
  19. chkconfig --add mysqld  
  20. chkconfig --list mysqld  
  21. chkconfig --levels 245 mysqld off  
  22.   
  23. #配置mysql  
  24. cd /usr/local/mysql  
  25. #简单的测试  
  26. bin/mysqladmin version  
  27. #查看所有mysql参数  
  28. bin/mysqladmin Variables  
  29. #没有密码可以直接登录本机服务器  
  30. bin/mysql -uroot  
  31. DELETE FROM mysql.user WHERE Host='localhost' AND User='';  
  32. FLUSH PRIVILEGES;  
  33. #设置root密码为123456  
  34. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');  
  35. #配置可远程连接mysql  
  36. use mysql  
  37. SELECT user,password,host FROM user;  
  38. DELETE FROM user WHERE host='localhsot.localdomain'  
  39. DELETE FROM user WHERE host='127.0.0.1';  
  40. UPDATE user SET host='%' WHERE user='root';  
  41. #重启mysql  
  42. service mysqld restart  
 

18>【安装php】

[html] view plaincopyprint?

  1. tar -zxvf php-5.2.6.tar.gz  
  2. gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1  
  3.   
  4. cd php-5.2.6  
  5. ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --enable-fastcgi --enable-fpm  
  6. make  
  7. make install  
  8. cp php.ini-dist /usr/local/php/etc/php.ini  
  9. #修改php-fpm.conf  
  10. vi /usr/local/php/etc/php-fpm.conf  
  11. #查找63,66行将注释去掉  
  12. value name="user">nobodyvalue>  
  13. value name="group">nobodyvalue>  
  14. #启动php  
  15. /usr/local/php/sbin/php-fpm start  
 

19>【nginx配置】

[html] view plaincopyprint?

  1. vi /usr/local/nginx/conf/nginx.conf  
  2. #在server下找到location / 修改解析PHP文件存放的路径, 修改为:  
  3. location / {  
  4.         root   /var/www/html;  
  5.         index  index.html index.htm index.php;  
  6. }  
  7. #root表示虚拟目录设置为/var/www/html,增加默认解析index.php  
  8. #在server下找到location ~ /.php$ 修改php解释器FastCGI配置,修改为:  
  9. location ~ \.php$ {  
  10.             root           /var/www/html;  
  11.             fastcgi_pass   127.0.0.1:9000;  
  12.             fastcgi_index  index.php;  
  13.             fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;  
  14.             include        fastcgi_params;  
  15. }  
  16. #将nginx添加到自启动中  
  17. echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.d/rc.local  
  18. #将php添加到自启动中  
  19. 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] view plaincopyprint?

  1. server {    
  2.     listen 80 default;    
  3.     server_name dev.localhost;    
  4.     access_log logs/dev.access.log;    
  5.   
  6.   
  7.     root /var/www/html/dev;    
  8.   
  9.   
  10.     server_name_in_redirect off;    
  11.   
  12.   
  13.     location / {    
  14.         index index.html index.php;  
  15.     }    
  16.   
  17.   
  18.     location ~ \.php$ {  
  19.         fastcgi_pass   127.0.0.1:9000;  
  20.         fastcgi_index  index.php;  
  21.         fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  
  22.         include        fastcgi_params;  
  23.     }  
  24. }    
 

#带url重写(zend framework)

[html] view plaincopyprint?

  1. server {  
  2.     listen 80;  
  3.     server_name dev.localhost;  
  4.     access_log logs/dev.access.log;    
  5.           
  6.     root   /var/www/html/dev/code/html;  
  7.     location / {  
  8.         index index.html index.php;  
  9.   
  10.   
  11.         if (-e $request_filename ) {  
  12.             break;  
  13.         }  
  14.               
  15.         if ( $request_filename ~* \.(js|ico|gif|jpg|jpeg|xml|swf|txt|png|css|html|htm)$ ) {  
  16.             return 404;  
  17.         }  
  18.               
  19.         rewrite .* index.php;  
  20.     }  
  21.     location ~ .*\.php$ {  
  22.         include fastcgi_params;  
  23.         fastcgi_param  SCRIPT_FILENAME    $document_root/index.php;  
  24.         #fastcgi_param REQUEST_URI $document_uri?$query_string;  
  25.         fastcgi_read_timeout 120;  
  26.         fastcgi_pass  127.0.0.1:9000;  
  27.         fastcgi_index index.php;  
  28.     }  
  29. }  
 

[html] view plaincopyprint?

  1. #重启nginx  
  2. /usr/local/nginx/sbin/nginx -s reload  
  3. #重启php  
  4. /usr/local/php/sbin/php-fpm restart  
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn