centos搭建lnmp
配置mysql
mysql5.5解压出来你会发现找不到configure文件,我们只能用cmake,默认linux系统是没有cmake,所以会显示找不到cmake command,解决办法:yum install cmake
下载Mysql: wgethttp://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.14.tar.gz
增加用户组 : /usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
基本操作: tar xvf mysql-5.5.14.tar.gz
cd mysql-5.5.14/
安装所需要系统库相关库文件: yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*(当然一些重复的会自动忽略)
执行命令: cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql
参数等说明:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql#mysql安装的主目录,默认为/usr/local/mysql
DMYSQL_DATADIR=/usr/local/mysql/data#mysql数据库文件的存放目录,可以自定义
DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock#系统Socket文件(.sock)设置,基于该文件路径进行Socket链接,必须为绝对路径
DSYSCONFDIR=/etc #mysql配置文件 my.cnf的存放地址,默认为/etc下
DMYSQL_TCP_PORT=3306#数据库服务器监听端口,默认为3306
DENABLED_LOCAL_INFILE=1#允许从本地导入数据
DWITH_READLINE=1 #快捷键功能
DWITH_SSL=yes #支持 SSL
DMYSQL_USER=mysql#默认为mysql
//下面3个是数据库编码设置
DEXTRA_CHARSETS=all#安装所有扩展字符集,默认为all
DDEFAULT_CHARSET=utf8#使用 utf8 字符
DDEFAULT_COLLATION=utf8_general_ci#校验字符
//下面5个是数据库存储引擎设在
DWITH_MYISAM_STORAGE_ENGINE=1#安装 myisam 存储引擎
DWITH_INNOBASE_STORAGE_ENGINE=1#安装 innodb 存储引擎
DWITH_ARCHIVE_STORAGE_ENGINE=1#安装 archive 存储引擎
DWITH_BLACKHOLE_STORAGE_ENGINE=1#安装 blackhole 存储引擎
DWITH_PARTITION_STORAGE_ENGINE=1#安装数据库分区
编译过程中如果会出现以下错误
mysqld.cc: In function ‘void handle_connections_sockets()’:
主要是没有安装libmcrypt相关的包
直接使用yum install libmcrypt* -y安装完成后,在重新编译
在编译出现异常,在重新编译的时候,需要先删除mysql目录下的CMakeCache.txt这个文件,然后再进行编译!!!
执行安装
make
make install
授权:chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql #改变目录拥有者与所属组
ln -s /usr/local/mysql/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
cd support-files/
cp my-large.cnf /etc/my.cnf#选择默认配置文件 适合大型服务器
cp mysql.server /etc/init.d/mysqld #复制启动文件
1. 若有需要请先修改 mysql 的配置 my.cnf
vi /etc/my.cnf
在[mysqld]下面添加(安装的mysql在/usr/local/mysql文件夹下)
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/data/mysql.pid
default-storage-engine=MyISAM
user = mysql
2. mysql 初始化安装 执行以下命令
/usr/local/mysql/scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--user=mysql
3. 将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
继续执行命令:
chkconfig --add mysqld
chkconfig --level 345 mysqld on
为MySQL配置环境变量,以后使用起来方便
export PATH=/usr/local/mysql/bin:$PATH
4. 启动 mysql
service mysqld start
设置密码
安全模式登录
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
当然用户别忘了授权不然是登录不了mysql服务器的
rpm 形式安装Mysql
下载所需软件 进行安装
rpm -ivh libaio-0.3.93-4.i386.rpm
rpm -ivh MySQL-server-5.5.14-1.rhel5.i386.rpm
rpm -ivh MySQL-client-5.5.14-1.rhel5.i386.rpm
rpm -ivh MySQL-shared-5.5.14-1.rhel5.i386.rpm
rpm -ivh MySQL-devel-5.5.14-1.rhel5.i386.rpm
启动MySQL服务器
service mysql start
设置密码
省略不说了
linux采用rpm方式重新安装mysql,完成后Mysql启动时候报告错误,找不到pid文件
Starting MySQL..Manager of pid-file quit without updating file.[FAILED]
此时需要采用safe模式启动
/usr/bin/mysqld_safe --user=mysql
特别要注意kill旧Mysql进程:,如果还有错误,参考下列解决办法:
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql/var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !http://blog.rekfan.com/?p=186
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.错误日志目录不存在
解决方法:使用“chown” “chmod”命令赋予mysql所有者及权限
解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
安装mysql 出现如下类似错误的话
conflicts with file from package mysql-libs-
需要把以前安装的mysql相关的包卸载掉。
说明:使用rpm安装等时候,不能向编译安装一样选择安装路径,现在用命令来查看一下mysql都安装到哪里去了
[root@localhost ~]# find / -name mysql -print
/etc/logrotate.d/mysql
/etc/rc.d/init.d/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/var/lock/subsys/mysql
/usr/lib/mysql
/usr/include/mysql
/usr/share/mysql
/usr/bin/mysql
而 data默认放在:/var/lib/mysql
mysql默认安装在了:/usr/share/mysql中
卸载httpd centos方法如下:
后面的版本号不全也没关系,如果有依赖关系就不能卸载,再加上--nodpes参数即可。不检查依赖强制删除,这个结果就是只删除了httpd,跟他有依赖关系的其它软件是不会删除的,但是这些软件因为系统里没有了httpd也会不能运行,这是所谓的没有删除干净。
yum -y remove httpd这种方式是把与httpd有依赖关系的所有软件一并删除。比如php,mod_ssl等等。这就干净了。
执行了./configure之后就会进行一系列的检查,以便于之后的编译过程,过程中可能会报以下错误:
1、./configure: error: the HTTP rewrite module requires the PCRE library
安装pcre-devel解决问题
yum -y install pcre-devel
2、./configure: error: the HTTP cache module requires md5 functionsfrom OpenSSL library. You can either disable the module by using--without-http-cache option, or install the OpenSSL library into the system,or build the OpenSSL library statically from the source with nginx by using--with-http_ssl_module --with-openssl=<path> options.(centos6和nginx暂时不会出现该错误)
解决办法:
yum -y install openssl openssl-devel
3、./configure:error: the HTTP gzip module requires the zlib library
解决办法:
yum install -y zlib-devel
一步解决办法:yum -y install pcre-devel openssl openssl-develzlib-devel
执行make 会生成makefile 用于引导之后的安装过程,操作如下图:可能会报错,那就按照提示安装即可执行过了 #make install操作就安装完成了,Nginx的默认安装路径是在/usr/local/nginx目录下的接下来我们启动Nginx 服务,进入到/usr/local/nginx/sbin目录,执行./nginx就可以启动Nginx服务了。
当然启动过程中有可能会发生端口冲突错误,
Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
直接办法,关闭端口占用进程(不建议这么做,最好更改端口,或者查出所在程序)sudo fuser -k 80/tcp或者
netstat -tunlp |grep 80
nginx操作常用命令:启动:./nginx 停止:./nginx -s stop 或者 ./nginx -s quit 重启:./nginx -s reload 或者service nginx reload 查看版本号:./nginx -v 检查配置文件是否正确:/nginx -t
编译安装php
首先还是同样的上 http://php.net 官网下载php的源码包,然后移动到/usr/local/目录下进行解压,例如解压成php,然后cd进去
先装依赖包(两种方法):
1、yum install gcc make gd - devel libjpeg - devel libpng - devel libxml2 - devel bzip2 - devel libcurl - devel - y
2、 单独下载安装 ,只不过下边configure时要单独指定其位置,如 --with-jpeg-dir=/usr/local/jpeg
执行./configure--prefix=/usr/local/php-5.6--with-config-file-path=/usr/local/php-5.6/etc--with-bz2--with-curl--enable-ftp--enable-sockets--disable-ipv6--with-gd--with-jpeg-dir=/usr/local--with-png-dir=/usr/local--with-freetype-dir=/usr/local--enable-gd-native-ttf--with-iconv-dir=/usr/local--enable-mbstring--enable-calendar--with-gettext--with-libxml-dir=/usr/local--with-zlib--with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd--with-mysql=mysqlnd--enable-dom--enable-xml--enable-fpm(php5.3以上是自带fpm补丁包的)
然后继续make和make install
配置php
配置php-fpm
启动php-fpm
执行以上命令,如果没报错一般情况下表示启动正常,如果不放心,也可以通过端口判断是PHP否启动,执行命令
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
进入php文件夹下,执行命令cp php.ini-development php.ini,并修改php.ini中的一些参数,修改nginx配置文件如下
# vi /usr/local/nginx/conf/nginx.conf
location / {
root /www;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;
include fastcgi_params;
}
项目根目录为www,配置文件不用修改什么,只是将一些注释去掉而已,然后编写php测试页面index.php
而nginx最常用的方法是利用 tcp/ip 协议连接 phpfastcgi 接口, 因此要连接php必须先启动fastcgi程序.
启动方法:
/usr/local/bin/php-cgi -b 127.0.0.1:9000 -c /usr/local/php5.6/etc/php.ini &
-b 用于指定监听地址与端口
如果想指定配置文件位置,可以使用-c选项
注意, nginx 服务器负责所有的客户端请求, 包括了静态网页解析 (html), 页面中的其他对象如 ccs文件jpg png文件等传输, 但遇到客户需要请求 php 页面请求或 php 源码解析时, nginx将会把页面传递到fastcgi接口, 由 php-cgi 程序进行解析.
然后执行./nginx,如果成功并且显示以下页面就说明配置成功了
用phpMyAdmin既能够测试MySQL的链接情况也可以相当于装了个Mysql管理工具,测试结果如下说明整个环境你已经配置完成了
文章来源: markwcm.blog.csdn.net,作者:黄啊码,版权归原作者所有,如需转载,请联系作者。
原文链接:markwcm.blog.csdn.net/article/details/47447941
- 点赞
- 收藏
- 关注作者
评论(0)