LANMP安装总结
2011-09-22 18:52 PHP淮北 阅读(3417) 评论(0) 编辑 收藏 举报Centos系统安装总结
LANMP环境搭建总结:
步骤 |
1 |
2 |
3 |
4 |
5 |
6 |
安装 |
liunx |
apache |
mysql |
php |
nginx |
优化配置 |
备注 |
Centos5.5 |
组件:memcache,mongodb,eaccelerator等等 |
Apache/nginx |
这次主要是在centos上搭建apache php nginx mysql等环境,实现nginx和apache共存
编译组件的通用模式:
①安装linux支持②安装PHP支持
以memcache为例:其中php安装在/usr/local/php
①安装linux支持memcache
wget http://memcached.googlecode.com/files/memcached-1.4.0.tar.gz //下载
tar zxvf memcached-1.4.0.tar.gz //解压
cd memcached-1.4.0
./configure //编译
make
make install //安装
启动:/usr/local/bin/memcached -d -m 256 -u root
检查tcp 11211端口是否打开,memcache默认11211端口
netstat -anp | grep 11211
加入开机自启动:
echo "/usr/local/bin/memcached -d -m 256 -u root" >> /etc/rc.local
②安装memcache的php模块支持
Wget http://pecl.php.net/get/memcache-2.2.5.tgz //下载
tar vxzf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php/bin/phpize //很重要,下面又详解
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install
复制memcache.so文件到/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613
修改php.ini文件
将extension_dir="/"修改为:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
extension=memcache.so
重启apache,查看phpinfo网页,查看memcache模块是否被正确加载
**************************************************************************************
phpize是什么东西呢?php官方的说明:
http://php.net/manual/en/install.pecl.phpize.php
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,都可以可以使用phpize,使用方法同上
测试服务器的数据管理:
第一种命令行模式:
①数据导出②创建对应表 ③导入数据
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.导出一个数据库结构
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table
4.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:wcnc_db.sql (注:如果写成source d:\wcnc_db.sql,就会报语法错误)
第二种模式:使用图形界面管理工具
使用图形界面管理工具
步骤:①进入mysql命令行模式---②对远程使用客户端主机进行授权
/usr/local/mysql/bin/mysql -uroot -p123456 //进入mysql管理界面
出现错误:
ERROR 1045 (28000):
Access denied for user 'root'@'localhost' (using password: YES)
解决办法:
/usr/local/mysql/share/mysql/mysql.server stop //先关闭mysql
/usr/local/mysql/bin/ mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
/usr/local/mysql/bin/mysql -u root mysql
UPDATE user SET Password=PASSWORD('123456') where USER='root';//修改密码
重启mysql服务
**************************
对本地ip192.168.1.48进行授权:
mysql> grant all on *.* to root@'192.168.1.48' identified by '123456';//授权ip访问权限
********************************************************************
本地使用数据库管理工具:
使用数据库管理工具--连接数据管理数据
报错:error no 2003 can't connect to mysql server on192.168.1.23
我的问题可能是防火墙没有关闭,解决办法两种:
关闭防火墙⑴service iptables stop (临时关闭)
⑵chkconfig iptables off (重启生效的)
********连接成功
归纳如下:
故障现象 : 无法连接 mysql
===================================================================================
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
原因 : mysqld数据库服务没有启动。
检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理 :启动mysqld 服务
===================================================================================
错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server
原因 : mysql服务器没有赋予此客户端远程连接的权限。
检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。
处理 :修改mysql库下的user表:update user set host = '%' where user ='XXX';flush privileges;
===================================================================================
错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
原因 : 用户账号并未创建
检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。
处理 :创建用户账号。
===================================================================================
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
原因 : mysqld 客户端与服务端端口不一致。
检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题
处理 :启动mysqld 服务
===================================================================================
错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111)
原因 : mysqld的mysql.sock没在相应的位置。
处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动
2.改权限 chown -R mysql:msyql /var/lib/mysql
3.修改/etc/my.cnf (注意:先停数据库)
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[client]
socker=/var/lib/mysql/mysql.sock
4.启动数据库
===================================================================================
数据库连接问题总结(转csdn)
常用检查步骤。
1. PING hostname 或 PING 189.xx.xx.xx 确认服务器IP层通信没有问题。如果PING通则继续(2),PING不通则找网络方面专家协助。
2. TELNET hostname 3306 确认服务器TCP层通信没有问题。(你的端口号可能不是3306),如通则继续,如不通,请检查mysqld 是否已经在运行,防火墙屏蔽了端口。
3. 检查用户权限, show grants ...
转载一个:mysql忘记root密码拯救方法(flush privileges)
本文基于署名-非商业性使用 3.0许可协议发布,欢迎转载,演绎,但是必须保留本文的署名:PHP10086博客网(PHP淮北):http://www.php10086.com,也可以邮件与我联系。