1)使用web前端服務和後端存儲服務進行串聯.php
2)主要實現處理PHP程序動態請求html
①.LNMP工做原理:Linux+Nginx+Mysql+PHP 前端
L Linuxmysql
N nginxlinux
M mysqlnginx
P php web
使用yum安裝PHP環境的教程:sql
https://www.jianshu.com/p/f5d2f1a8ab90數據庫
部署搭建LNMP架構;(參考lnmp.org,網站一鍵安裝腳本部署該環境)apache
LNMP架構部署:
①.安裝相關軟件,
安裝Linux系統 (基礎優化,防火牆,selinux關閉)
安裝nginx服務 (配置相應的模塊)yum或者源碼編譯安裝
安裝php-fpm環境
安裝mysql數據庫服務
② 安裝好基礎環境以後,創建php-fpm和nginx的關聯,修改nginx的配置文件nginx.conf
③創建php-fpm和mysql數據庫的關聯性,讓程序支持mysql數據後臺
④總體測試搭建的網站得可用性.
1.首先解決PHP軟件的依賴關係
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
libiconv軟件安裝---字符集轉換庫(默承認以不進行安裝了)
cd /server/tools
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
還須要安裝一些依賴的組件.
yum -y install libmcrypt-devel mhash mcrypt
rpm -qa libmcrypt-devel mhash mcrypt
2.接下來下載PHP軟件:(php官網: php.net)
解壓下載下來的軟件包:
[root@web01 tools]# tar xf php-5.5.32.tar.gz
安裝配置:
cd php-5.5.32
./configure \
--prefix=/app/php-5.5.32 \
--with-mysql=/app/mysql \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr --enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--enable-apache=no
##防錯(如下信息能夠不進行配置了)
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make
make install
ln -s /application/php-5.5.32/ /application/php
3.設置php程序配置文件:
php.ini php-fpm.ini
cp php.ini-production /app/php-5.5.32/lib/
ln -s /app/php-5.5.32/ /app/php
cd /app/php/etc/
cp php-fpm.conf.default php-fpm.conf
4.安裝Mysql數據庫服務(yum, 源碼安裝,二進制包方式安裝)
下載mysql的地址:ftp://ftp.jaist.ac.jp/pub/mysql/
解壓:tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
將mysql目錄移動到部署目錄: mv mysql-5.6.34-linux-glibc2.5-x86_64 /app/mysql-5.6.34
設置軟連接: ln -s /app/mysql-5.6.34/ /app/mysql
接下來,建立數據庫的管理用戶和密碼帳號,並受權數據目錄由mysql用戶管理.
useradd mysql -M -s /sbin/nologin
chown -R mysql.mysql /app/mysql/data/
對數據庫服務進行初始化:
./scripts/mysql_install_db --basedir=/app/mysql --datadir=/app/mysql/data/ --user=mysql
啓動腳本中的basedir目錄路徑須要修改:
sed -ir 's#/usr/local#/app#g' /app/mysql/bin/mysqld_safe /etc/init.d/mysqld
[root@db01 support-files]# sed -ir 's#/usr/local#/app#g' /app/mysql/support-files/mysql.server
ln -s /app/mysql/support-files/mysql.server /etc/init.d/mysqld
用安裝的mysql的配置文件替換系統的mysql配置文件.mysql 數據庫的默認配置文件/etc/my.cnf .
cp ./support-files/my-default.cnf /etc/my.cnf
(啓動mysql服務)
[root@web01 tools]# /etc/init.d/mysqld start
Starting MySQL.... SUCCESS!
設置數據庫mysql的root用戶密碼:
[root@web01 tools]# /app/mysql/bin/mysqladmin -uroot password "123456"
Warning: Using a password on the command line interface can be insecure.
使用數據庫帳號和密碼登陸數據庫.
/app/mysql/bin/mysql -uroot -p123456
簡單查看數據庫的命令:
mysql> show databases;
5.設置好php相關配置文件和開啓mysql服務以後,下面啓動php程序服務
[root@web01 tools]# /app/php/sbin/php-fpm
[root@web01 tools]# netstat -ltnup |grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 61793/php-fpm
6,將php-fpm程序和web服務器nginx(或apache)結合起來,而後將php-fpm程序與mysql服務結合起來,才能跑php程序開發的網站程序
如今要將nginx與php程序相結合.
編寫nginx的配置文件,添加以下代碼在nginx的配置文件中.
location ~* .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
讓php與mysql創建鏈接,設置的方法:
php與mysql結合:編寫php程序代碼
vim test_mysql.php (放在站點目錄下面/html/www)
<?php
//$link_id=mysql_connect('主機名','用戶','密碼');
//mysql -u用戶 -p密碼 -h 主機
$link_id=mysql_connect('localhost','root','123456') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !\n";
}else{
echo mysql_error();
}
?>
測試:
在本地windows主機修改hosts文件 blog.abc.com 10.0.0.7
而後打開http://blog.abc.com/test_info.php
下面接下來會介紹如何經過搭建的lnmp環境搭建一個wordpress網站而後進行測試.