1. 程式人生 > >45次課( LNMP架構介紹、 MySQL安裝、PHP安裝、Nginx介紹)

45次課( LNMP架構介紹、 MySQL安裝、PHP安裝、Nginx介紹)

初始 統一 tar.gz api blog mit read oca 能力

LNMP架構介紹

技術分享圖片

MySQL安裝

技術分享圖片
技術分享圖片

開始安裝首先進入/usr/local/src目錄下,把所有安裝包統一放到這個目錄下方便查找

[root@100xuni1 src]# cd /usr/local/src        ##進入/usr/local/src目錄

下載安裝包https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md這個網站裏邊有可下載的安裝包

[root@100xuni1 src]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

下載完成後解壓

[root@100xuni1 src]# tar zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

解壓完成後要把這個目錄移動到另外一個路徑下然後改名字,移動完成後看看結果是否一樣

[root@100xuni1 src]# mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql
[root@100xuni1 src]# ls /usr/local/mysql/            ##查看結果 
bin  COPYING  data  docs  include  lib  man  mysql-test  README  scripts  share  sql-bench  support-files

進入剛才改完名字的目錄下/usr/local/mysql/

[root@100xuni1 src]# cd /usr/local/mysql/

創建usr的用戶,創建data目錄

[root@100xuni1 mysql]# useradd mysql
[root@100xuni1 mysql]# mkdir /data/

然後初始化,初始化的過程是把一些mysql啟動他所需要的目錄生成,安裝完成後出現兩個OK,如果不放心echo $?看一看是不是0

[root@100xuni1 mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql       
[root@100xuni1 mysql]# echo $?

把配置文件拷貝過去,然後編輯下

[root@100xuni1 mysql]# cp support-files/my-default.cnf /etc/my.cnf
[root@100xuni1 mysql]# vim /etc/my.cnf

技術分享圖片

拷貝啟動腳本,然後編輯它

[root@100xuni1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@100xuni1 mysql]# vim /etc/init.d/mysqld

技術分享圖片

啟動

[root@100xuni1 mysql]# /etc/init.d/mysqld start

技術分享圖片
技術分享圖片

然後可以把mysqld加入到服務列表裏邊去,讓他開機啟動

[root@100xuni1 mysql]# chkconfig --add mysqld      ##加入列表
[root@100xuni1 mysql]# chkconfig mysqld on           ##開機啟動

PHP安裝

在lamp的課程中做個PHP的實驗刪除PHP,

技術分享圖片

開始安裝

技術分享圖片

略過幾步之前做過的如下

進入/usr/local/src/
下載wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
解壓 tar zxf php-5.6.30.tar.gz
創建用戶 useradd -s /sbin/nologin php-fpm

進入解壓過的安裝包

[root@100xuni1 src]# cd php-5.6.32

技術分享圖片

編譯參數

[root@100xuni1 php-5.6.32]#  ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl

安裝過程中報錯少cURL,安裝cURL,安裝後繼續運行

技術分享圖片

[root@100xuni1 php-5.6.32]# yum install libcurl-devel        ##安裝curl

安裝完成

技術分享圖片

make && make install

[root@100xuni1 php-5.6.32]# make && make install

技術分享圖片

[root@100xuni1 php-5.6.32]# ls /usr/local/php-fpm/      ##lnmp
bin  etc  include  lib  php  sbin  var
[root@100xuni1 php-5.6.32]# ls /usr/local/php/        ##lamp
bin  etc  include  lib  php
[root@100xuni1 php-5.6.32]# ls /usr/local/php-fpm/sbin/       
php-fpm                     ##這個文件就是用來啟動php-fpm的
[root@100xuni1 php-5.6.32]# ls /usr/local/php-fpm/var/log    ##存放日誌
[root@100xuni1 php-5.6.32]# ls /usr/local/php-fpm/var/run      ##存放PID的

想啟動需要配置服務,首先拷貝php.ini-production到/usr/local/php-fpm/etc/php.ini

[root@100xuni1 php-5.6.32]# cp php.ini-production /usr/local/php-fpm/etc/php.ini

編輯php-fpm.conf

[root@100xuni1 php-5.6.32]# cd /usr/local/php-fpm/etc/      ##到這個目錄下來
[root@100xuni1 etc]# vim php-fpm.conf     ##這個目錄沒有php-fpm.conf文件vim直接創建編輯,編輯這個配置文件到https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/php-fpm.conf裏拷貝樣例

配置文件內容講解

[global]          ##全局的參數
pid = /usr/local/php-fpm/var/run/php-fpm.pid       ##PID定義路徑
error_log = /usr/local/php-fpm/var/log/php-fpm.log        ##log路徑
[www]          ##模塊的名字
listen = /tmp/php-fcgi.sock      ##監聽的地址
listen.mode = 666          ##定義sock的權限
user = php-fpm             ##用戶
group = php-fpm        ##組
pm = dynamic                ##以下都是進程的信息
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

技術分享圖片

拷貝啟動腳本

[root@100xuni1 etc]# cd /usr/local/src/php-5.6.32/     ##進入到源碼包目錄
[root@100xuni1 php-5.6.32]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm     ##sapi/fpm/init.d.php-fpm啟動腳本放到/etc/init.d/php-fpm下

加入服務列表首先改權限

[root@100xuni1 php-5.6.32]# chmod 755 /etc/init.d/php-fpm

啟動

[root@100xuni1 php-5.6.32]# chkconfig --add php-fpm
[root@100xuni1 php-5.6.32]# chkconfig php-fpm on      ##開機啟動
[root@100xuni1 php-5.6.32]# service php-fpm start

技術分享圖片

Nginx介紹

技術分享圖片

Nginx俄國人開發,Nginx靜態文件處理能力比apache強很多,

45次課( LNMP架構介紹、 MySQL安裝、PHP安裝、Nginx介紹)