magento 的安装总结
Posted by admin | Posted in 未分类 | Posted on 25-02-2012
0
先是本地安装的,使用的环境是 AppServ Open Project – 2.5.10 for Windows, 安装完成,添加分类发布产品,可是前台不显示新加商品,难道是没安装成功,记得安装时最后一步出过错误提示,只是一串数字,也看不明白,不过既然能进后台,应该没问题才是,当时没仔细考虑,现在到真的出问题了;查找了好多资料,修改后台配置文件,使用magento-cleanup.php清除缓存也找不出问题根源。
上面是前记,下面是线上服务器安装时碰到的问题。时间就是金钱,效率第一。今天无奈,直接上到vps安装。没成想安装第一步就碰到问题。
先说下我的服务器环境
CentOS
Nginx 1.0.6
PHP 5.2.10
MYSQL 5.1.44
首先是出来500 Internal Server Error,修改nginx conf文件,细分出来是 502 Bad Gateway考虑也许是php的问题,放了个探针测试,发现可以访问php,为什么打开安装文件却不能访问呢,仔细看看nginx conf文件,貌似问题也没有,我也做屏蔽掉.hta文件的设置,可为什么还是出这种提示呢。几经折腾,找来一个magento安装检测文件 magento-check.php,发现跑这个文件竟然会报错,根据提示修改php.ini 支持。检测结果说我的数据库版本太低,根据官方的环境要求,数据库必须4.1.20 or newer,而我的数据库版本是足够的。这检测结果真让人蛋疼。后来看官方论坛说这个检测文件是会分不清版本的,确定版本高就可以不用管这个提示。
由于反馈的是502错误,这种错误太容易引起了,继续想办法检查php,回过头打开了php的错误提示,没出来任何东东还是不行。到底是什么地方出现了问题呢,我又仔细看了环境需求和探针,对照发现服务器上有2个模块没有打开,找到php.ini文件去掉分号,重启,刷新环境检测文件,一切都符合。其实这里浪费了很多时间的,当时要是仔细看检测文件后面的提示就好了,就不用辛苦的对照看哪个模块没开,记得当时我用了个最笨的方法,把本地php.ini的一些设置直接复制到了服务器上的配置文件上。也怪当初magento-check.php连数据库版本都测不出来,让我觉得太不靠谱了,害我没仔细看后面检测结果,导致浪费这么多时间。所以说官方的东西存在就是有用的,不能太怀疑啊。
可问题还是依旧!
页面还是不能打开,冷静下来,仔细考虑了下,php、mysql都没问题,那只能是nginx的问题了,我首先去了nginx的官方,发现有一个magento的配置文件,照样贴过来,依旧没用。最后我用站内搜索magento官方论坛,发现有个帖子,用户贴了他们的配置文件,对比下来,我使用了些他们的写的好的地方,反复测试,最后按着官方提供的配置文件顺利看到了安装界面。
最后一个问题是数据库连接这个地方
安装第二步,输入建好的数据库名、用户名、密码,提交后,提示不能连接数据库,换用root的账号也不能连接,这确实让我挺头痛,这种事情不知道做过多少次,怎么会错。再回头看官方的环境要求,又发现数据库需要InnoDB 支持,难道当初安装数据库没装吗,那装上吧
cd mysql-5.1.44/
./configure –prefix=/usr/local/mysql –with-extra-charsets=all –enable-thread-safe-client –enable-assembler –with-charset=utf8 –enable-thread-safe-client –with-extra-charsets=all –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase
make
make install
漫长的编译和安装之后
mysql> show plugin看到装上了,接着修改mysql配置文件/etc/my.cnf添加上下面这段东西。
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
# You can set .._buffer_pool_size up to 50 – 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
重启服务器,继续安装,成功了。
总结
做为开源软件magento各方面都做的很好,我是第一次接触,蛮喜欢的。可这坑爹的安装过程,差点没把这团兴趣之火差点浇灭了,这也只能怪自己,技术不够精湛,头脑不够仔细。现在回头考虑下,其实问题很简单。php缺少模块,mysql没有装InnoDB ,nginx的rewrite没写好。顺便在这BS下百度这个搜索,出来的结果太糟糕了。google被墙的厉害,没几下就不能访问,这个墙太令人气愤了。


