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
立即安装。
安装成功。
参考:
《修改了mysql.sock的位置,如何在程序连接时指定修改后的mysql.sock》
Nginx 笔记与总结(11)Nginx + php-fpm + MySQL 安装 ecshop的更多相关文章
- Nginx 笔记(三)nginx 配置实例 - 反向代理、负载均衡、动静分离
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.反向代理 反向代理准备工作: (1)在 liunx 系统安装 tomcat,使用默认端口 8080 ...
- Nginx 笔记(四)nginx 原理与优化参数配置 与 nginx 搭建高可用集群
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.nginx 原理与优化参数配置 master-workers 的机制的好处 首先,对于每个 ...
- Nginx 笔记(二)nginx常用的命令和配置文件
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.nginx常用的命令 (1)启动命令 在/usr/local/nginx/sbin 目录下执行 ./ ...
- MySQL学习笔记(一)Ubuntu16.04中MySQL安装配置(5.6优化、错误日志、DNS解决)
目录 第一部分.5.6安装.配置.自动备份 第二部分.5.7源码安装.配置.自动备份 第一部分.5.6安装 1.安装mysql sudo apt-get install mysql-server su ...
- Nginx笔记总结十九:nginx + fancy实现漂亮的索引目录
编译:./configure --prefix=/usr/local/nginx --add-module=../ngx-fancyindex-master 配置: location / { fanc ...
- Nginx笔记总结十八:nginx统计响应的http状态码信息(ngx-http-status-code-counter)
编译:./configure --prefix=/usr/local/nginx --add-module=../ngx_http_status_code_counter-master make &a ...
- Nginx笔记总结十六:nginx优化指南
1.高层的配置 worker_processes 定义了nginx对外提供web服务时的worker进程数 worker_rlimit_nofile 更改worker进程最大打开文件数量限制,如果没有 ...
- Nginx笔记总结十五:nginx+keepalive+proxy_cache配置高可用nginx集群和高速缓存
nginx编译 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz ./configure --prefix=/usr/loca ...
- Nginx笔记总结十四: nginx反向代理,用内网域名转发
user www www; worker_processes ; error_log logs/error.log; pid logs/nginx.pid; worker_rlimit_nofile ...
随机推荐
- Redis适用于高并发的递增、递减功能
递增指令:incr(默认从0开始) 递减指令:decr(默认从0开始,递减会出现负数,这点跟memcache不一样,mc到0) 如下: 附上shardedJedisPool和JedisCluster的 ...
- C/C++函数参数读取顺序2
#include <stdio.h>int main(){ int a=1,b=3,c=3; printf("%d, %d, %d",(a++,b++,c++),b,c ...
- 查看Linus中自带的jdk ,设置JAVA_HOME
在配置hadoop是,进行格式化hadoop的时候,出现找不到jdk 我用Red hat是32位的,没有现成的32位的,敲java , 发现本机有java ,就找了一下其位置 找到了jdk-1.6.0 ...
- JAVA读取XML文件数据
XML文档内容如下: <?xml version="1.0" encoding="UTF-8"?> <root> <field t ...
- 如何解决adb devices 端口被占用的问题zz
在win xp ,win 7 上使用adb时, 越来越多的人出现了 adb devices 命令长时间无响应.adb start-server 失败.eclipse adt初始化时卡在dbms-ini ...
- 面向服务的体系结构(SOA)——(3)关于BPM
什么是BPM 很多情况下企业当中所提供的服务不是由一个分布式业务流程就可以完成的,整个服务的提供需要多个分布式流程有机的组合,于是BPM就应运而生了.要将现有的服务通过配置.编排(关于配置与编排的区别 ...
- 以app形式启动chrome——关于chrome命令行
转自:http://wiselyman.iteye.com/blog/2179043 转自:http://bbs.ithome.com/thread-589651-1-1.html 转自:http:/ ...
- Java配置环境变量、方法和原因
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...
- win7下loadrunner创建mysql数据库参数化问题解决
问题现象: 安装mysql数据源驱动后,lr创建mysql驱动程序列表没有安装的驱动程序: 安装完mysql ODBC数据源后 2.在控制面板-数据源(ODBC) 3.创建mysql数据源: 4.从l ...
- 10分钟API Hook MessageBox
10分钟API Hook MessageBox 分类: C++2012-04-12 22:52 877人阅读 评论(4) 收藏 举报 hookwinapidllthreadpython编程 转载注明出 ...