为什么一定要使用Nginx,还有搭配的教程作者在NGINX+APACHE+PHP+MYSQL整合已经说过了.
可是配置ecshop真的好麻烦,主要麻烦在PHP不能使用超过5.3的版本,否则就是修改所有的核心代码,那工程量会要人命的.
首先根据作者链接中所说,安装nginx+apache
确保nginx是可以正常访问的,并且apache启动是无错误的
注:在这假设目录使用apache的默认目录/var/www/html
然后我们来安装mysql,由于centos自带的mysql可能有点老,所以如果可以的话update下
yum install mysql mysql-server
记得顺便修改下mysql的root密码
mysql -u root;
mysql> use mysql;
mysql> UPDATE user SET password= PASSWORD(‘新密码’) WHERE user = ‘root’;
mysql> FLUSH PRIVILEGES;
然后:service mysqld restart;
重新进入MYSQL创建个UTF的ECSHOP数据库
create database if not exists ecshop default charset utf8 collate utf8_general_ci;
至于安装PHP,其实ecshop对PHP的最大限制是php 5.3.3
直接yum 也可以.
编译准备工作 yum groupinstall “Development tools”
然后是编译安装 PHP 需要用到的 devel 包:
yum install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel
接下来下载对应的PHP
编译安装 php的参数:
进入PHP目录
./configure –with-apxs2=/usr/local/apache2/bin/apxs –disable-cli –enable-shared –with-libxml-dir –with-gd –with-openssl –enable-mbstring –with-mcrypt –with-mysqli –with-mysql –enable-opcache –enable-mysqlnd –enable-zip –with-zlib-dir –with-pdo-mysql –with-jpeg-dir –with-freetype-dir –with-curl –without-pdo-sqlite –without-sqlite3
make
make install
cp php.ini-production /usr/local/lib/php.ini
是时候让 apache 知道有 php 的存在了,在 apache 配置文件 httpd.conf 中添加:
LoadModule php5_module modules/libphp5.so
#上面那行可能在编译安装 php 的过程中已经由系统自动添加了
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
OK!重启 apache,人品好的人是不会出现问题的。
因为Nginx接收到的动态请求会转发给apache,所以不需要使用php-fpm,除非使用nginx+mysql+php的搭配。
好了,到此ecshop的Nginx+Apache+Mysql+Php环境配置完成。
关于作者