1. 程式人生 > >LNMP介紹及MySQL、PHP的安裝

LNMP介紹及MySQL、PHP的安裝

20180606

一、LNMP架構介紹

1、和LAMP不同的是,供WEB服務的是Nginx
2, 並且php是作為一個獨立服務存在的,這個服務叫做php-fpm
Nginx直接處理靜態請求,動態請求會轉發給php-fpm,Nginx處理靜態請求相對於Apache要快很多;,Nginx用戶並發可以是好幾成,Apache就做不到。
技術分享圖片

二、mysql的安裝

跟LAMP大體相同
1>、卸載以前的mysql:
關閉mysql服務
rm -rf /usr/local/mysql //刪除目錄
rm -rf /etc/ini.d/mysqld //刪除啟動文件
rm -rf /data/mysql

2>、重新安裝mysql
1.cd /usr/local/src

2.wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
3.tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz 解壓包
4.mv /usr/local/src/mysql-5.6.36 /usr/local/mysql
5.cd /usr/local/src/mysql-5.6.36
6.創建mysql用戶
7.創建目錄:/data/mysql
8、編譯
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
make & make install
9、拷貝配置文件: cp support-files/my-default.cnf /etc/my.cnf
10、拷貝啟動文件: cp support-files/mysql.server /etc/init.d/mysqld
11、編輯配置文件,指定路徑: vi /etc/init.d/mysqld
定義basedir和datadir
12、啟動:/etc/init.d/mysqld start
查看是否啟動成功:ps aux |grep mysqld
13、 加入到服務列表: chkconfig --add mysqld
開機啟動:chkconfig mysqld on
用服務啟動:service mysqld start

三、PHP的安裝

LAMP安裝PHP方法有差別,需要開啟php-fpm服務,不需要依賴Nginx;
1>取消以前安裝的PHP模塊
1、進入安裝目錄: cd /usr/local/src/php-7.1.6
2、執行make clean 把之前編譯的文件全部刪除,

2>安裝PHP
1、cd /usr/local/src/php-7.1.6
2、創建php-fpm用戶:usradd php-fpm
3、編譯:
./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

4、make && make install
5、ls /usr/loca/php-fpm 比原來的php 要多兩個目錄 sbin 跟var
/usr/local/php-fpm/sbin/php-fpm -t
6、拷貝php.ini cp php.ini-production /usr/local/php-fpm/etc/php.ini
(production(適合生產環境用)和development (適合在開發環境用)它們的錯誤日誌配置不一樣
7、編輯配制文件:php-fpm.conf
vim /usr/local/php-fpm/etc/php-fpm.conf 輸入以下內容:

[global]     //全局參數
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock      //監聽地址,也可以寫127.0.0.1:9000
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

8、拷貝啟動腳本: cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
9、改權限: chmoe 755 /etc/init.d/php-fpm
10、加服務列表: chkconfig --add php-fmp
開機啟動: chkconfig php-fmp on
啟動:service php-fpm start

11、查看是否啟動成功 ps aux |grep php-fpm

四、Nginx簡單介紹

它是俄國人開發的,目前越來越多的企業選擇JAVA開發網站,
1、Nginx官網 nginx.org;
2、Nginx應用場景:
技術分享圖片

HTTP服務器(包含動靜分離)
Nginx本身也是一個靜態資源的服務器,當只有靜態資源的時候,就可以使用Nginx來做服務器,同時現在也很流行動靜分離,就可以通過Nginx來實現,
動靜分離是讓動態網站裏的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以後,我們就可以根據靜態資源的特點將其做緩存操作,這就是網站靜態化處理的核心思路

反向代理:
反向代理應該是Nginx做的最多的一件事了,什麽是反向代理呢,以下是百度百科的說法:反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。簡單來說就是真實的服務器不能直接被外部網絡訪問,所以需要一臺代理服務器,而代理服務器能被外部網絡訪問的同時又跟真實服務器在同一個網絡環境,當然也可能是同一臺服務器,端口不同而已。
負載均衡
負載均衡也是Nginx常用的一個功能,負載均衡其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。簡單而言就是當有2臺或以上服務器時,根據規則隨機的將請求分發到指定的服務器上處理,負載均衡配置一般都需要同時配置反向代理,通過反向代理跳轉到負載均衡。而Nginx目前支持自帶3種負載均衡策略,還有2種常用的第三方策略
技術分享圖片

3、
Nginx著名分支,淘寶基於Nginx開發的Tengine,使用上和Nginx一致,服務名,配置文件名都一樣,和Nginx的最大區別在於Tenging增加了一些定制化模塊,在安全限速方面表現突出,另外它支持對js,css合並
Nginx核心+lua相關的組件和模塊組成了一個支持lua的高性能web容器openresty,
參考 http://jinnianshilongnian.iteye.com/blog/2280928

LNMP介紹及MySQL、PHP的安裝