lnmp安装---源码安装mysql5.6--nginx--php--memached


LNMP ---》源码包装nginx MySQL5.6  php

1.安装mysql

#先解开mysql5.6源码包

#tar -zxf mysql-5.6.25.tar.gz
#cd mysql-5.6.25/
#useradd mysql
#yum -y install cmake  gcc
#yum install gcc-c++
# yum -y install  ncurses-devel
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc   -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306  -DMYSQL_USER=mysql   -DEXTRA_CHARSETS=all
#make &&make install
#cd /usr/local/mysql/
#./scripts/mysql_install_db --datadir=/usr/local/mysql/data/  --user=mysql   (初始化数据库)
#ls /usr/local/mysql/data/
#ls -l /usr/local/mysql/data/mysql


复制主配置文件启动脚本:
#ls support-files/
#cp support-files/my-default.cnf /etc/my.cnf

#cp support-files/mysql.server /etc/init.d/mysql

#chmod +x /etc/init.d/mysql
#chkcpmfig --add mysql  (添加为系统服务)
#chkconfig --list mysql
#chkconfig  mysql on

#service mysql status

#netstat -anptu |grep :3306

#service mysql start


#ln -s /usr/local/mysql/*    /bin  把命令的路径添加到path变量里

#echo "export PATH=$PATH:/usr/local/mysql/bin"  >>/etc/profile

#source /etc/profile
#echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

#mysql -uroot -p
mysql>quit

设置数据库管理员从本机登录的密码
#mysqladmin  -hlocalhost -uroot password "123456" 这是设置密码

#mysql -uroot -p123456    

mysql>quit

修改密码

# mysqladmin -hlocalhost -uroot -p password "11"  (新密码)

Enter password:  (这填旧密码)

#mysql -uroot -p11

#vim /etc/ls.so.conf  (库文件连接   系统启动会读这个文件,会加载程序的库文件,第三方软件就能找到mysql库文件位置)

/usr/local/mysql/lib/

#ldconfig -v |grep -i --color mysql

2.安装PHP

安装PHP 先安装扩展包
libmcrypt-2.5.8.tar.gz
mhash-0.9.9.9.tar.gz

# tar zxf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9/
# ./configure
# make &&make install
# tar -zxf libmcrypt-2.5.8.tar.gz
# cd libmcrypt-2.5.8/
# ./configure
# make &&make install

把库文件更新到系统默认搜索的目录下

# ln -s /usr/local/lib/libmcrypt* /usr/lib/

# ln -vs /usr/local/lib/libmhash.* /usr/lib/

#ldconfig -v

安装PHP
# tar zxf php-5.4.24.tar.gz

# cd php-5.4.24/

#  ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql  --enable-fpm  --enable-mbstring --with-mcrypt --with-mhash --with-config-file-path=/usr/local/php5/etc --with-mysqli=/usr/local/mysql/bin/mysql_config   --enable-memached
# yum list |grep xml2*   (看上面报错,缺少什么先找到再装)
# yum -y install *xml2*
# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql  --enable-fpm  --enable-mbstring --with-mcrypt --with-mhash --with-config-file-path=/usr/local/php5/etc --with-mysqli=/usr/local/mysql/bin/mysql_config
# make && make install

3.安装nginx

配置nginx服务接收到访问php文件的请求,把请求发给本机的9000端口

安装nginx

创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务海湖新,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

#useradd  nginx

#tar -zxf nginx-1.8.0.tar.gz

#cd nginx-1.8.0/

#yum  -y  install   gcc   gcc-c++   openssl    openssl-devel  pcre   pcre-devel

安装依赖包,由于lnmp安装在一台服务器上,有些已经安装过了,可用直接./configure编译了,缺少什么包会报错再安装就行,一般是下面这些依赖:)[[#yum -y install gcc zlib-devel openssl-devel ]]


#./configure --prefix=/usr/local/nginx    --with-http_ssl_module    --with-http_stub_status_module


#yum list |grep pcre
#yum -y install pcre*

# ./configure  --prefix=/usr/local/nginx    --with-http_ssl_module    --with-http_stub_status_module

#make  && make install

#ln -s  /usr/local/nginx/sbin/nginx  /usr/sbin/

#netstat -anptu |grep nginx   (先要把之前别的占用80端口关了)

#nginx    (#chkconfig nginx on  这里nginx没有启动脚本,不能设置开机自启 写脚本)

# echo  1111   >  /usr/local/nginx/html/test.html

# yum  -y   install  elinks

# elinks   --dump   http://localhost/test.html
                    1111


#vim /usr/local/nginx/conf/nginx.conf

65-71 注释去掉

69行:  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


#nginx -s reload


编写php脚本文件

#cat /usr/local/nginx/html/test.php


phpinfo();

?>


客户端访问

#http://192.168.4.254/test.php (能解释php代码)


测试php程序能否连接数据库

先把数据库服务开启

# netstat -anptu |grep :3306
tcp        0      0 :::3306                     :::*                        LISTEN      2634/mysqld

#mysql -hlocalhost -uroot -p123456

mysql>grant all on bbsdb.* to webadmin@"localhost" identified by "123456";

mysql>create database bbsdb;

mysql>quit


#vim /usr/local/nginx/html/db.php


mysql_connect("localhost","webadmin","123456");

if($x){

      echo "ok";

}else{

      echo "err";

}

?>

测试

#http://192.168.4.254/db.php

ok


(诺数据库没开启,测试得到的就是err)


——————————————————————————————————————————————————————
4.安装memcached

安装memcached服务   (memcache,内存存储——要先装事件触发器的包libevent,libevent和memache要版本兼容,这里libevent-2.0.21,memcached-1.4.24)

   先安装libevent

#yum  -y install gcc

#tar -xf libevent-2.0.21-stable.tar.gz  (memcached服务库文件)

#cd libevent-2.0.21-stable

#./configure

#make && make install


可以直接给库文件做链接也可在库配置文件中写进去,做下面其一就行。

1)  #ln -s /usr/local/lib/libevent/* /usr/lib/

     #ldconfig   (//刷新)


2)  #vim /etc/ld.so.conf (库文件的配置文件)

    /usr/local/lib/

    #ldconfig  (//刷新)


3)  #vim /etc/ld.so.conf/libevent.conf

     /usr/local/lib/

   #ldconfig


#tar -zxf memcached-1.4.24.tar.gz

#cd memcached-1.4.24

#./configure

#make && make install

#ln -s /usr/local/bin/memached /bin

#memcached -h (查看帮助)


[root@proxe ~]# memcached -u   root -m 64 -vv -d   启动memcached

#####启动memcached

用如下命令进行启动

/usr/local/memcached/bin/memcached -d -m 1024 -u ths -l 198.28.1.237 -p 11211 -c1024 -P /tmp/memcached.pid

以上参数解释如下:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,

-u是运行Memcache的用户,我这里是ths,

-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.28.1.237,

-p是设置Memcache监听的端口。默认是11211

-c选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定,

-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,

#####



查看服务是否启动:

[root@proxe ~]# netstat -anptu |grep :11211

tcp        0      0 0.0.0.0:11211               0.0.0.0:*                   LISTEN      6813/memcached      

tcp        0      0 :::11211                    :::*                        LISTEN      6813/memcached      

udp        0      0 0.0.0.0:11211               0.0.0.0:*                               6813/memcached      

udp        0      0 :::11211                    :::*                                    6813/memcached      


【memcached 没有关闭服务脚本,杀进程  pkill -9 memcached  停止服务】



测试:

[root@host b]# yum -y install telnet


[root@host b]# telnet 192.168.4.5  11211

Trying 192.168.4.5...

Connected to 192.168.4.5.

Escape character is '^]'.


set name 0  100 3

tom

STORED

get name

VALUE name 0 3

tom

END

replace name 0  200 3

asc

STORED

get name

VALUE name 0 3

asc

END

add  set  replace  delete  get

#cd /usr/lcoal/bin

#./php -m  (查看php所支持的功能)

#./php -m |grep memcached (查php是否支持memcached)


让php支持memcached

#cd

# tar -zxvf memcahce-2.2.5

# cd memcahce-2.2.5

#/usr/local/php5/bin/phpize

#./configure  --with-php-config=/usr/local/php5/bin/php-config  --anable-memcache

#make  && make install

#vim  /usr/local/php5/etc/php.ini
extension_dir="/usr/local/php5nginx/lib/php/extensions/no-

debug-non-zts-20100525/"
extension=memcache.so

#/etc/init.d/php-fpm restart

修改nginx服务的主配置文件,接收到请求时,先访问11211端口。 (设置先从缓存中查找,没有再从数据库中查询)
#vim /usr/local/nginx/conf/nginx.conf


编写测试文件
 #cat  /usr/local/nginx/html/mem.php



$memcache->connect('localhost',11211) or die ('could not

connect!! ');

$memcache->set('name', 'jim'); //定义变量


$get_values=$memcache->get('name');//获取变量值echo

$get_values;?>

#http://nginx-ip/mem.php
    jim


文章名称:lnmp安装---源码安装mysql5.6--nginx--php--memached
当前URL:http://hbruida.cn/article/gesigp.html