您好,登錄后才能下訂單哦!
下文內容主要給大家帶來LNMP架構、工作模式及MySQL、PHP安裝介紹,所講到的知識,與書籍略有不同,都是億速云專業技術人員在與用戶接觸過程中,總結出來的,具有一定的經驗分享價值,希望給廣大讀者帶來幫助。
LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站云服務器架構。Nginx中的PHP是以fastcgi的方式結合Nginx的,可以理解為Nginx代理了PHP的fastcgi。
下載并解壓源碼包
下載包:
[root@localhost src]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz
解壓:
[root@localhost src]# tar -zxv -f mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
移動解壓后的文件并修改文件名:
將解壓出來的mysql-5.6.35-linux-glibc2.5-x86_64 文件移動到/usr/local/目錄下,并改名為mysql。
[root@localhost src]# mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql
切換到/usr/lcoal/mysql/目錄
[root@localhost src]# cd /usr/local/mysql/
創建賬號和/data/目錄:
[root@localhost mysql]# useradd mysql
[root@localhost mysql]# mkdir /data/
配置mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
#如果在安裝過程中出現兩個ok,則安裝成功。或者使用命令echo $? 命令,輸出結果為0則安裝成功。結果為1則安裝失敗。
拷貝配置文件
配置文件的目錄為:/usr/local/mysql/support-files/my-default.cnf
[root@localhost mysql]# cp support-files/my-default.cnf /etc/my.cnf
也不可以拷貝配置文件,直接使用現成的/etc/my.cnf 文件,編輯此文件,修改如下內容:
datadir=/data/mysql
socket=/tmp/mysql.sock
注釋掉這三行:
啟動腳本
啟動腳本目錄為:/usr/local/mysql/support-files/mysql.server
將啟動腳本拷貝到/etc/init.d/目錄下,改名為:mysqld
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
編輯/etc/init.d/mysqld文件:
basedir=/usr/local/mysql
datadir=/data/mysql
(46,47行)
權限變更:
將文件權限改為755(默認為755,不需要改)
chmod 755 /etc/init.d/mysqld
設置開機啟動,將該服務加到系統服務列表中:
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig --list
注意:該輸出結果只顯示 SysV 服務,并不包含原生 systemd 服務。SysV 配置數據可能被原生 systemd 配置覆蓋。
如果您想列出 systemd 服務,請執行 'systemctl list-unit-files'。
欲查看對特定 target 啟用的服務請執行
'systemctl list-dependencies [target]'。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
還可以直接用命令啟動:
[root@localhost mysql]# service mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
. SUCCESS! #啟動成功
可以使用命令:
ps aux | grep mysqld 查看進程
netstat -lntp 查看監聽端口
停止mysqld服務
service mysqld stop
命令行的方式啟動(&在后臺啟動):
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql --datadir=/data/mysql &
如果之前安裝過PHP,需要清除其原有的配置:
[root@localhost src]# cd php-5.6.30
[root@localhost src]# make clean
下載并解壓PHP
下載包:
[root@localhost php]# wget http://cn2.php.net/distributions/php-7.1.6.tar.bz2
解壓包:
[root@localhost php]# tar -jxv -f php-7.1.6.tar.bz2
將包移動到/usr/local/下并重命名為php
[root@localhost php]# mv php-7.1.6 /usr/local/php
配置
[root@localhost src]# cd /usr/local/php/
[root@localhost php]# ./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-pdo-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
配置過程中可能會需要安裝其它包,詳見php安裝。
編譯和安裝
[root@localhost php]# make
......
[root@localhost php]# echo $?
0
[root@localhost php]# make install
......
[root@localhost php]# echo $?
0
查看php-fpm加載了哪些模塊
[root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -m
檢查php-fpm配置文件
[root@localhost php]# /usr/local/php-fpm/sbin/php-fpm -t
創建php-fpm用戶
[root@localhost php]# useradd -s /sbin/nologin php-fpm
該賬號用來運行php-fpm服務,因為在LNMP環境中,PHP是以一種服務的形式獨立存在的。
將php配置文件添加到php-fpm配置文件目錄
[root@localhost php]# cp php.ini-production /usr/local/php-fpm/etc/php.ini
配置文件
切換到/usr/lcoal/php-fpm/etc 目錄下:
[root@localhost php]# cd /usr/local/php-fpm/etc
添加php-fpm.conf文件,并加入如下內容:
[root@localhost etc]# vim 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
#監聽地址,也可以寫:listen = 127.0.0.1::9000,本地監聽,也可以監聽其他IP:port
#此處格式會影響配置Nginx和PHP結合時Nginx尋址PHP的路徑
listen.mode = 666
#當監聽的為socket文件時該部分才生效,用于指定.sock文件的權限
user = php-fpm
group = php-fpm
#定義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@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t
[02-Jan-2018 23:18:03] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
配置啟動腳本
切換到/usr/local/php/目錄下
[root@localhost etc]# cd /usr/local/php/
將啟動腳本添加到系統配置文件中:
[root@localhost php]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
更改文件權限:
[root@localhost php]# chmod 755 /etc/init.d/php-fpm
設置開機啟動
[root@localhost php]# chkconfig --add php-fpm
[root@localhost php]# chkconfig php-fpm on
啟動php-fpm服務:
[root@localhost php]# service php-fpm start
Starting php-fpm done
查看服務是否啟動成功:
[root@localhost etc]# ps aux | grep php
Nginx("engine x")是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:百度、新浪、網易、騰訊、 淘寶等。
web服務器、反向代理、負載均衡
對于以上關于LNMP架構、工作模式及MySQL、PHP安裝介紹,如果大家還有更多需要了解的可以持續關注我們億速云的行業推新,如需獲取專業解答,可在官網聯系售前售后的,希望該文章可給大家帶來一定的知識更新。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。