lamp
創(chuàng)新互聯(lián)公司主要從事成都做網(wǎng)站、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務坡頭,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
分層機制:
用戶--[httpd協(xié)議]--apache--[fastCGI協(xié)議]--php--[MySQL協(xié)議]--mysql
分層優(yōu)勢:
Apache php和mysql都是CPU密集型的服務,分層可以緩解CPU壓力
同層的還可以做負載均衡
*************Apache和PHP結合的方式*****************
1, 模塊化的方式,php編成Apache的模塊
此時php是Apache的子功能存在的,所以調用php時不需要啟動額外的進程
任何httpd進程內部都已經(jīng)裝載了php模塊
apache使用不同的MPM時,php的模塊也是不同的
prefork:libphp5.so
worker,event:libphp5-zts.so
2, CGI接口
3,fastCGI模式下的php,php 5.3.3收進fastCGI
編譯php-fpm并啟動為服務進程,監(jiān)聽再某個套接字下
服務進程fork幾個空閑進程,供別的進程調用
************php-mysql******************
通過客戶端程序mysql_connect()連接mysql
$link = mysql_connect('IP','user','mypass')可創(chuàng)建一個PHP和mysql的連接
mysql_close()
************mysql的主輔服務器******************
master:寫操作都在主服務器,也提供數(shù)據(jù)的讀操作
slave:讀操作
緩存服務器,提高命中率,bypass(旁路)
*************memcached純緩存服務器*****************
LAMMP
memcached必須前端程序調用才有效
########
************redis******************
工作在內存
可實現(xiàn)持久存儲,非關系型數(shù)據(jù)庫(NOSQL)
******************************
動靜分離
高可用集群---->腳本腳本加油
******************************
安裝順序:
httpd mysql,最后php
*************安裝mysql*****************
mysql-5.5.33-linux2.6-x86_64.tar.gz
1,添加mysql用戶和mysql組,用戶設為nologin
groupadd -r mysql創(chuàng)建系統(tǒng)組
useradd -g mysql -r -s /sbin/nologin mysql
2,解壓到/usr/local
創(chuàng)建解壓包的軟連接為/usr/local/mysql ,以后升級可以直接重新軟連接mysql目錄
cd /usr/local
tar -zxf mysql-5.5.33-linux2.6-x86_64.tar.gz
ln -sv mysql-5.5.33-linux2.6-x86_64 mysql 升級mysql時重新生成mysql連接
3,創(chuàng)建邏輯卷管理來存儲數(shù)據(jù)庫文件
mkdir data
fdisk /dev/sda (n ;f 8e)
kpartx -af /dev/sda
partx -a /dev/sda 通知內核讀取新的分區(qū)
cat /proc/partitions
pvcreate /dev/sda2
vgcreate mysqlvg /dev/sda2
lvcreate -L 2G -n mysqllv1 mysqlvg
mount /dev/mysqlvg/mysqlvg /data
vi /etc/fstab
/dev/mysqlvg/mysqllv1 ext4 /data defaults,noatime,nodiratime 0 0
cd /data
mkdir mydata計劃數(shù)據(jù)庫存儲目錄
chown -R mysql:mysql mydata將數(shù)據(jù)庫存放目錄的所有者改為mysql
4,創(chuàng)建并配置數(shù)據(jù)庫
cd /usr/local/mysql
chown -R root:mysql ./*
scripts/mysql_install_db --datadir=/data/mydata --user=mysql 創(chuàng)建數(shù)據(jù)庫
cp support-files/mysql.server /etc/init.d/mysqld啟動數(shù)據(jù)庫服務
chkconfig --add mysqld
cp support-files/my-large.cnf /etc/my.cnf
vi /etc/my.cnf
datadir = /data/mydata
service mysqld start
此時,mysql命令還找不到,需要編輯
vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
. !*!*表示上一條命令的參數(shù)
5,登錄mysql
安全設置
drop user ''@'localhost';刪除匿名用戶
use mysql;
select host,user,password from user;
update user set password=PASSWORD('mysql2009') where user='root';
flush privileges;
6,mysql的配置文件
家目錄下創(chuàng)建.my.cnf
[mysql]
user = root
host = localhost
password = mysql2009
mysql的配置文件讀取順序:/etc/my.cnf-->$MYSQL_BASE/my.cnf
-->--defaults-extra-file = /path/to/some_my.cnf-->.my.cnf
7,導出庫文件
ln -sv /usr/local/mysql/include/ /usr/include/mysql
8,導出頭文件
vim /etc/ld.so.conf.d/mysql
/usr/local/mysql/lib
ldconfig刷新動態(tài)庫
ldconfig -p |grep mysql查看