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》  

  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/dee0912/p/4722482.html
Copyright © 2011-2022 走看看