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 ...
随机推荐
- BST树
http://www.cnblogs.com/bizhu/archive/2012/08/19/2646328.html 4. 二叉查找树(BST) Technorati 标记: 二叉查找树,BST, ...
- ytu 1789:n皇后问题(水题,枚举)
n皇后问题 Time Limit: 1 Sec Memory Limit: 64 MB Special JudgeSubmit: 12 Solved: 3[Submit][Status][Web ...
- hdu 4022 STL
题意:给你n个敌人的坐标,再给你m个炸弹和爆炸方向,每个炸弹可以炸横排或竖排的敌人,问你每个炸弹能炸死多少个人. /* HDU 4022 G++ 1296ms */ #include<stdio ...
- 在Windows中使用MinGW编译X264
转自:http://www.cnblogs.com/xiongjiaji/archive/2012/06/08/2541265.html 参考:http://ayobamiadewole.com/Bl ...
- Mosquitto关于Connection lost的问题。
文章发自:http://www.cnblogs.com/hark0623/p/4175048.html 转发请注明 如果当你的客户端订阅(sub)mqtt时,发现出现Connection lost ...
- windows 并发与同步 学习笔记
测试 5.2 windows 中断与异常 1.外部硬件中断是通过处理器上的中断引脚管或者本地APIC的内置模块来发生的:对于一个处理器,一旦被中单, 某个预先被设定的中断服务例程就被执行! 2.处理器 ...
- MVC _ViewStart文件的作用
指定目录下的所有文件均继承自 某个Layout. 支持最近原则. 参考:http://www.cnblogs.com/iamlilinfeng/archive/2013/02/28/2934397.h ...
- MVC 使用HandleErrorAttribute统一处理异常
HandleErrorAttribute继承自FilterAttribute,且实现了IExceptionFilter接口. 属于AOP思想的一种实现,MVC的四大筛选器(权限,动作,结果,异常)中的 ...
- sql server 取随机行
--从table_name中随机取n行 select top n * from table_name order by NEWID()
- 【教程】模拟登陆百度之Java代码版
[背景] 之前已经写了教程,分析模拟登陆百度的逻辑: [教程]手把手教你如何利用工具(IE9的F12)去分析模拟登陆网站(百度首页)的内部逻辑过程 然后又去用不同的语言: Python的: [教程]模 ...