mysql安装ecshop_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:

4a670173665d818a8900b9ff552e2cc8.png

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

91573305ee51004e10225a14984c27f8.png

"+" 表示增加权限. "-" 表示消减权限。

文件所有者可以用字母 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

此时再刷新页面:

2c48b689916e4e5e71db417283702a52.png

下一步。

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

7d3ef180d8c681131d853fc1f69f8a91.png

原因是:

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

b30a7d24885beabb7b3f62ab574f6334.png

解决方案 1:

把 localhost 改为 127.0.0.1

37d131b3e5af4d75d810f7bb559f7ace.png

解决方案 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

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

安装测试数据

26d24f70aeb929cd1b5008f06f4f8e2b.png

立即安装。

报错:

a2ef8efd6f3a38181460b3fdf549859c.png

原因:时区配置错误。

解决方案,配置 php.ini:

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

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

67266153d528c5e7ba528ee9d4c58f80.png

保存退出。

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

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

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

立即安装。

c500eab3544375d14ee40a4a2c93ccbb.png

安装成功。

参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值