標籤:mysql 資料庫 local 封裝
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
#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
<?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 [email protected]"localhost" identified by "123456";
mysql>create database bbsdb;
mysql>quit
#vim /usr/local/nginx/html/db.php
<?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 (查看協助)
[[email protected] ~]# memcached -u root -m 64 -vv -d 啟動memcached
查看服務是否啟動:
[[email protected] ~]# 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 停止服務】
測試:
[[email protected] b]# yum -y install telnet
[[email protected] 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
<?php$memcache=new Memcache;//建立memcache對象
$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
本文出自 “12336621” 部落格,請務必保留此出處http://12346621.blog.51cto.com/12336621/1914293
lnmp安裝---源碼安裝mysql5.6 -- nginx -- php -- memached