九、期中架構LNMP章節 (一)LNMP架構說明 (二)LNMP架構工作原理 (三)LNMP架構部署 1)安裝LNMP相關軟體 ①. 部署Linux系統 基礎優化操作要完成(防火牆關閉 關閉selinux /tmp許可權為1777) ②. 部署nginx服務 見上一章節 ③. 部署mysql服務 yu ...
九、期中架構LNMP章節
(一)LNMP架構說明
1)使前端web服務和後端存儲服務進行串聯
2)主要實現處理PHP程式動態請求
(二)LNMP架構工作原理
L Linux N nginx M mysql P php
(三)LNMP架構部署
1)安裝LNMP相關軟體
①. 部署Linux系統
基礎優化操作要完成(防火牆關閉 關閉selinux /tmp許可權為1777)
②. 部署nginx服務
見上一章節
③. 部署mysql服務
yum部署軟體 ,編譯安裝軟體, 二進位包方式部署mysql服務
第一個裡程:下載並解壓mysql軟體程式
mysql官方下載鏈接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
上傳mysql軟體程式,進行利用xftp軟體進行上傳
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34
第二個裡程:創建軟體程式軟鏈接
ln -sf /application/mysql-5.6.34/ /application/mysql
第三個裡程:創建資料庫管理用戶,並授權數據目錄
useradd mysql -M -s /sbin/nologin
chown -R mysql.mysql /application/mysql/data/
第四個裡程:對資料庫服務進行初始化
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
第五個裡程:啟動mysql服務
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -ri 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
/etc/init.d/mysqld start
第六個裡程:設置資料庫root用戶登錄密碼
/application/mysql/bin/mysqladmin -uroot password "oldboy123"
/application/mysql/bin/mysql -uroot -poldboy123
④. PHP軟體安裝部署過程
第一里程:解決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 ../
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install libmcrypt-devel mhash mcrypt
rpm -qa libmcrypt-devel mhash mcrypt
第二個裡程:下載解壓PHP軟體
php官方網站下載:php.net
cd /server/tools/
tar xf php-5.5.32.tar.gz
cd php-5.5.32
./configure \
--prefix=/application/php-5.5.32 \
--with-mysql=/application/mysql-5.6.34 \
--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-opcache=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
第三個裡程:設置PHP程式配置文件
php.ini php-fpm.ini
cp php.ini-production /application/php-5.5.32/lib/
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.con
第四個裡程:啟動php程式服務
/application/php/sbin/php-fpm
netstat -lntup|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 6251/php-fpm
2)進行軟體直接的結合
nginx與php結合:編寫nginx配置文件
location ~* .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
php與mysql結合:編寫php程式代碼
<?php
//$link_id=mysql_connect('主機名','用戶','密碼');
//mysql -u用戶 -p密碼 -h 主機
$link_id=mysql_connect('localhost','root','oldboy123') or mysql_error();
if($link_id){
echo "mysql successful by oldboy !\n";
}else{
echo mysql_error();
}
?>
3)部署一個真的網站
第一個裡程:下載與上傳網站代碼
第二個裡程:解壓程式代碼,將程式代碼保存到站點目錄併進行授權
tar xf wordpress-4.7.3-zh_CN.tar.gz
mv wordpress/* /application/nginx/html/blog/
chown -R www.www /application/nginx/html/blog/
第三個裡程:直接訪問blog網站,進行初始化操作
創建資料庫:
create database wordpress;
show databases;
創建連接數據用戶信息
grant all on wordpress.* to 'wordpress'@'localhost' identified by 'oldboy123';
select user,host from mysql.user;