zoukankan      html  css  js  c++  java
  • linux下nginx+php+mysql环境搭建

     

    linux下nginx+php+mysql环境搭建

    分类: php
    ++++++++++++++++++++++++++++++++++++++++++++++
    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 plaincopy
     
    1. yum install gcc  
    2. yum install gcc-c++  
    2>【开放80、3306、22端口】
    [html] view plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    1. yum install libxml2-devel  
    7>【安装zlib】
    [html] view plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    1. tar -zxvf autoconf-2.61.tar.gz  
    2. cd autoconf-2.61  
    3. ./configure  
    4. make  
    5. make install  
    12>【安装gd】
    [html] view plaincopy
     
    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 plaincopy
     
    1. tar -zxvf pcre-8.10.tar.gz  
    2. cd pcre-8.10  
    3. ./configure  
    4. make  
    5. make install  
    14>【安装openssl】
    [html] view plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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">nobody</value>  
    13. <value name="group">nobody</value>  
    14. #启动php  
    15. /usr/local/php/sbin/php-fpm start  
    19>【nginx配置】
    [html] view plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    1. #重启nginx  
    2. /usr/local/nginx/sbin/nginx -s reload  
  • 相关阅读:
    正则表达式:(?=a)是什么意思?
    炫酷的 CSS 形状(值得收藏)
    右边菜单侧拉框
    iframe的父子层跨域 用了百度的postMessage()方法
    二级联动菜单
    一个类似职位选择的二级多选
    iOS sharedk短信分享
    Xcode6新建项目没有.pch
    iOS An error was encountered while running (Domain = FBSOpenApplicationErrorDomain, Code = 4)
    转 UINavigationController标题文字颜色
  • 原文地址:https://www.cnblogs.com/HuiLove/p/4935994.html
Copyright © 2011-2022 走看看