zoukankan      html  css  js  c++  java
  • Nginx 笔记与总结(11)Nginx + php-fpm + MySQL 安装 ecshop

    下载 ecshop (ECShop_V2.7.3_UTF8_release1106)安装包,解压之后把 upload 文件夹使用 ftp 传到服务器的 /usr/local/html 目录下,同时改名为 ecshop,在浏览器访问 http://192.168.254.100/ecshop/install/index.php,如果显示:ect() failed (111: Connection refused) while connecting to upstream,则说明没有启动 php-fpm,使用以下命令启动 php-fpm:

    [root@localhost nginx]# /usr/local/fastphp/sbin/php-fpm
    

    fastphp 是安装 php 的目录。

    如果需要只访问 http://192.168.254.100/ecshop/install ,则需要修改 nginx.conf:

    [root@localhost nginx]# vim conf/nginx.conf
    

    在 location / { index } 中添加 index.php:

            location / {
                root   html;
                index index.php index.html index.htm;
            }
    

    平滑重启 nginx。

    此时访问 http://192.168.254.100/ecshop/install:

    下一步,修改不可写的目录权限:

     "+" 表示增加权限. "-" 表示消减权限。
    文件所有者可以用字母 u 表示,用户所在的组可以用字母 g 来表示,其他人可以用字母 o 来表示,所有人可以用字母 a 了表示。 

    目录权限: 

    [root@localhost ecshop]# chmod o+w cert -R
    [root@localhost ecshop]# chmod o+w images -R
    [root@localhost ecshop]# chmod o+w data -R  
    [root@localhost ecshop]# chmod o+w temp -R
    

    模板权限:

    [root@localhost ecshop]# chmod o+w themes -R
    

    此时再刷新页面:

    下一步。

    如果出现连接数据库失败(用户名:root,密码:123456):

    原因是:

    在 Linux 下,用 localhost 进行连接的时候,不是通过 TCP 协议来连接,而是通过套接字 socket 来连接的,而在 phpinfo 中可以看到,并没有指定 socket:

    解决方案 1:

    把 localhost 改为 127.0.0.1

    解决方案 2:

    找到 mysql.sock

    [root@localhost ecshop]# ps ax|grep mysql
     1262 ?        S      0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
     1573 ?        Sl     0:07 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/error.log --pid-file=/usr/local/mysql/data/mysql.pid --socket=/data/mysql/mysql.sock --port=3306
     3772 pts/0    S+     0:00 grep mysql
    

     或者

    [root@localhost ecshop]# vim /etc/my.cnf
    
    [client]
    #password       = your_password
    port            = 3306
    socket          = /data/mysql/mysql.sock
    
    # Here follows entries for some specific programs
    
    # The MySQL server
    [mysqld]
    port            = 3306
    socket          = /data/mysql/mysql.sock
    

    或者

    [root@localhost ecshop]# find / -name mysql.sock
    /data/mysql/mysql.sock
    

    mysql.sock 的路径在 /data/mysql/mysql/sock  

      

    指定 socket。

    [root@localhost ecshop]# vim /usr/local/fastphp/lib/php.ini
    

    php.ini

    找到 mysql.default_socket,指定为:

    mysql.default_socket = /data/mysql/mysql.sock
    

    保存退出。

    杀 php-fpm 进程:

    [root@localhost ecshop]# pkill -9 php-fpm
    

    启动 php-fpm:

    [root@localhost ecshop]# /usr/local/fastphp/sbin/php-fpm
    

    (不过这个问题到现在都还没有解决,使用 localhost 无法连接到数据库,使用 php 进行检测:

    <?
    var_dump(mysql_connect('localhost','root','123456'));
    

    显示:

    Warning: mysql_connect() [function.mysql-connect]: [2002] Permission denied (trying to connect via unix:///data/mysql/mysql.sock) in /usr/local/nginx/html/test.php on line 3
    
    Warning: mysql_connect() [function.mysql-connect]: Permission denied in /usr/local/nginx/html/test.php on line 3
    bool(false)   

    )  

      

    使用 127.0.0.1 连接数据库,继续。

    设置数据库名为:shop

    管理员姓名:admin

    登录密码:admin123

    电子邮箱:472323087@qq.com

    设置时区:中华人民共和国

    安装测试数据 

      

     立即安装。

    报错:

    原因:时区配置错误。

    解决方案,配置 php.ini:

    [root@localhost mysql]# vim /usr/local/fastphp/lib/php.ini 

    找到 date.timezone,去掉注释,并且设置 date.timezone = PRC:

    保存退出。

    杀进程 php-fpm 并启动 php-fpm:

    [root@localhost mysql]# pkill -9 php-fpm
    [root@localhost mysql]# /usr/local/fastphp/sbin/php-fpm 
    

    立即安装。

      

    安装成功。

    参考:

    Linux的chmod命令》 

    修改了mysql.sock的位置,如何在程序连接时指定修改后的mysql.sock》  

  • 相关阅读:
    WPF使用Mutex创建单实例程序失效
    招式百出的数组(js)
    js中,如何把一个混杂的字符串进行去重并按数字在左,字母在右组成的新字符串打印出来
    字符串对象(js)
    时间对象(js)
    数组迭代的5个小宝贝(js)
    线程的状态
    线程
    JAVA学习规划
    简单的反射实例
  • 原文地址:https://www.cnblogs.com/dee0912/p/4722482.html
Copyright © 2011-2022 走看看