1.lnmp說明
1.1lnmp是個啥?
lnmp:linux+nginx+mysql(或mariadb)+php(或Perl或Python),即Linux系統下Nginx+MySQL+PHP這種網站服務器架構。這四種軟件互相關聯,就可以用來運行動態網站或者服務器。
我所使用的各項如下:
linux:CentOS 7 https://developer.aliyun.com/mirror/
nginx:nginx官網http://nginx.org/en/download.html
mysql:http://mirrors.163.com/
php:
discus(wordpress):https://wp.com.cn/thread-114.htm
1.2架構圖
(應該是writen by)
架構說明:客戶端發送的請求有動態靜態兩種方式,如果發送的是靜態請求①則nginx即可解析返回請求內容;如果發送的是動態請求②,那麼就需要用到php-fpm解析器來解析(實際應用中,動靜態請求沒有這麼分明,nginx和php常常是一同使用的),②如果需要訪問DB(database)的內容,則需要向數據庫發起請求。
高可用負載均衡架構圖:架構說明:
從上至下:
1.Haproxy實現輪詢或者其他自定義方式的訪問,以實現分擔開銷的功能。(若要實現故障切換考慮keepalived技術)。
2.Nginx配置stream模塊實現負載均衡
3.。通過設置主從數據庫實現讀寫分離,主數據庫負責“寫操作”,從數據庫負責“讀操作”,根據壓力情況,從數據庫可以部署多個提高“讀”的速度,藉此來提高系統總體的性能。參考:https://blog.csdn.net/starlh35/article/details/78735510?depth_1.utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
4.主從數據庫實現主從同步外,還可以將數據庫定時備份到遠端數據庫,比如夜深人靜用戶量小的時候,視情況而定吧。
1.3目錄規範說明
採用源碼安裝方式,先下載安裝包,我指定的目錄:
安裝包目錄 | 解壓目錄 | 安裝目錄 |
---|---|---|
/data/softs | data/softs | /data/webapps/ |
默認安裝目錄
安裝方式 | 目錄位置 |
---|---|
源碼安裝 | /usr/local/ |
RPM包 | /etc/ |
mysql RPM | /usr/share/mysql |
2.linux
我採用的是CentOS 7 版本,詳見我另一篇博客,安裝步驟寫得很詳細
https://blog.csdn.net/qq_40993864/article/details/104429915
3.Nginx
4.mysql
[root@localhost yico]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-el7-x86_64.tar.gz