日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LNMP网站架构

發布時間:2025/3/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LNMP网站架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LNMP網站架構

LNMP架構概述

LNMP就是Linux+Nginx+MySQL+PHP,Linux作為服務器的操作系統,Nginx作為Web服務器、PHP作為解析動態腳本語言、MySQL即為數據庫。

Linux作為服務器的操作系統。 Nginx作為WebServer服務器。 PHP 作為動態解析服務(php)。 MySQL作為后端存儲數據庫服務。

Nginx服務本身不能處理PHP的請求,那么當用戶發起PHP動態請求, Nginx又是如何進行處理的。
用戶-->http協議-->Nginx-->fastcgi協議-->php-fpm
注意: fatcgi是nginx連接php-fpm之間的協議。

Nginx與Fast-CGI詳細工作流程如下:

1.用戶發起的所有請求會先抵達LNMP架構中的Nginx
2.如果用戶請求的是靜態內容,則Nginx直接響應并處理。
3.如果用戶請求的是動態內容,則通過fastcgi協議發送至php-fpm管理進程
4.php-fpm接收到請求后,會派生對應的warrap線程,來解析用戶請求的動態內容。
5.如果涉及到查詢數據庫操作,則需要php先連接數據庫,然后進行查詢操作。(php-mysql)
6.最終由mysql-->php-fpm->fastcgi->nginx->user
``

安裝LNMP架構

yum安裝 nginx1.14 php7.1 mysql5.7

1.安裝Nginx

#1.使用Nginx官方提供的rpm包 [root@nginx ~]# cat /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1#2.執行yum安裝 [root@nginx ~]# yum install nginx -y#3.修改Nginx的運行身份 [root@web01 ~]# groupadd -g 666 www [root@web01 ~]# useradd -u666 -g666 www [root@nginx ~]# sed -i '/^user/c user www;' /etc/nginx/nginx.conf #4.啟動并加入開機自啟動 [root@nginx ~]# systemctl start nginx [root@nginx ~]# systemctl enable nginx

2.使用第三方擴展epel源安裝php7.1

#1.移除舊版php [root@nginx ~]# yum remove php-mysql-5.4 php php-fpm php-common -y#2.安裝擴展源 [root@web01 nginx]# yum localinstall -y http://mirror.webtatic.com/yum/el7/webtatic-release.rpm#3.安裝php7.1版本[root@nginx ~]# yum -y install php71w php71w-cli php71w-common php71w-devel \php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm \php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb#4.替換php-fpm運行的用戶和組身份 [root@web02 ~]# sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf [root@web02 ~]# sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf#5.啟動php-fpm管理進程, 并加入開機自啟[root@nginx ~]# systemctl start php-fpm[root@nginx ~]# systemctl enable php-fpm

?
3.安裝MySQL5.7版本數據庫

# 下載MySQL官方擴展源 [root@nginx ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm#2.安裝mysql5.7, 文件過大可能會導致下載緩慢 [root@nginx ~]# yum install mysql-community-server -y#3.啟動數據庫, 并加入開機自啟動 [root@nginx ~]# systemctl start mysqld [root@nginx ~]# systemctl enable mysqld#4.由于mysql5.7默認配置了默認密碼, 需要過濾temporary password關鍵字查看對應登陸數據庫密碼 [root@nginx ~]# grep 'temporary password' /var/log/mysqld.log#5.登陸mysql數據庫[password中填寫上一步過濾的密碼] [root@web02 ~]# mysql -uroot -p$(awk '/temporary password/{print $NF}' /var/log/mysqld.log)#6.重新修改數據庫密碼 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'RSX123.com';

配置LNMP架構

1.驗證Nginx是否能正常解析php動態請求[root@nginx ~]# cat /etc/nginx/conf.d/php.conf server { server_name www.rsx.com; listen 80; root /code; index index.php index.html;location ~ \.php$ { root /code; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

2.創建info.php測試php是否正常解析

[root@nginx ~]# cat /code/info.php <?php phpinfo(); ?>

?
2.測試php是否能連接mysql數據庫服務[無論是本地數據庫還是遠程數據庫,測試方式一致]

[root@nginx ~]# cat /code/mysql.php <?php $servername = "localhost"; $username = "root"; $password = "RSX123.com";// 創建連接 $conn = mysql_connect($servername, $username, $password);// 檢測連接 if (!$conn) { die("Connection failed: " . mysql_connect_error()); } echo "連接成功"; ?>

檢測LNMP架構

1.通過瀏覽器訪問info.php文件, 如出現下圖則表示nginx與php能正常工作

info.php

2.訪問mysqli.php驗證php-mysqli模塊是否正常工作

mysql.php

?

部署博客系統Wordpress

1.配置Nginx虛擬主機站點,域名為blog.rsx.com

#1.nginx具體配置信息 [root@nginx ~]# cat /etc/nginx/conf.d/wordpress.conf server { listen 80; server_name blog.rsx.com; root /code/wordpress; index index.php index.html;location ~ \.php$ { root /code/wordpress; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

?
2.重啟nginx服務

[root@nginx ~]# systemctl restart nginx

?
3.下載wordpress產品,部署wordress并授權

#1.獲取wordpress代碼 [root@nginx ~]# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz#2.解壓網站源碼文件,拷貝至對應站點目錄,并授權站點目錄 [root@nginx ~]# tar xf wordpress-4.9.4-zh_CN.tar.gz [root@nginx ~]# cp -r wordpress /code/ [root@nginx ~]# chown -R www.www /code/wordpress/

4.由于wordpress產品需要依賴數據庫, 所以需要手動建立數據庫

#1.登陸數據庫 [root@http-server ~]# mysql -uroot -pRSX123.com#2.創建wordpress數據庫 MariaDB [(none)]> create database wordpress; MariaDB [(none)]> exit

?
5.通過瀏覽器訪問wordpress, 并部署該產品

blog.rsx.com/wp-admin

?

部署知乎系統Wecenter

1.配置Nginx虛擬主機站點,域名為zh.rsx.com

#1.nginx具體配置信息 [root@http-server ~]# cat /etc/nginx/conf.d/zh.conf server {listen 80;server_name zh.rsx.com;root /code/zh;index index.php index.html;location ~ \.php$ {root /code/zh;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;} }

#2.重啟nginx服務

[root@http-server ~]# systemctl restart nginx

?
2.下載Wecenter產品,部署Wecenter并授權

[root@web02 ~]# wget http://ahdx.down.chinaz.com/201605/WeCenter_v3.2.1.zip [root@web02 ~]# unzip WeCenter_v3.1.9.zip [root@web02 ~]# mv UPLOAD/ /code/zh [root@web02 ~]# chown -R www.www /code/zh/

3.由于wecenter產品需要依賴數據庫, 所以需要手動建立數據庫

#1.登陸數據庫 [root@http-server ~]# mysql -uroot -pRSX123.com#2.創建wordpress數據庫 MariaDB [(none)]> create database zh; MariaDB [(none)]> exit

3.通過瀏覽器訪問網站

zh.rsx.com

部署網校系統Edusohu

1.配置Nginx虛擬主機站點,域名為edu.rsx.com

#1.nginx具體配置信息 [root@http-server ~]# cat /etc/nginx/conf.d/edu.conf server {listen 80;server_name edu.rsx.com;root /code/edu;index index.php index.html;location ~ \.php$ {root /code/edu;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;} }

#2.重啟nginx服務

[root@http-server ~]# systemctl restart nginx

?
2.下載edusohu產品,部署edusohu并授權

//獲取wordpress代碼 [root@http-server ~]# cd /soft/src/ [root@http-server /soft/src]# wget http://download.edusoho.com/edusoho-8.2.17.tar.gz//解壓軟件網站源碼文件, 并授權站點目錄,不然會導致無法安裝 [root@http-server /soft/src]# tar xf edusoho-8.2.17.tar.gz [root@http-server /soft/src]# cp -r edusoho /code/edu [root@http-server ~]# chown -R www.www /code/edu/ [root@http-server ~]# chmod -R 777 /code/edu/{app,web}//由于edusohu會自動創建數據庫, 所以無需創建數據庫

3.通過瀏覽器訪問網站

edu.rsx.com

遷移數據至獨立服務器

1.安裝好MySQL數據庫
#1.下載MySQL官方擴展源

[root@nginx ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm#2.安裝mysql5.7, 文件過大可能會導致下載緩慢[root@nginx ~]# yum install mysql-community-server -y#3.啟動數據庫, 并加入開機自啟動[root@nginx ~]# systemctl start mysqld[root@nginx ~]# systemctl enable mysqld#4.由于mysql5.7默認配置了默認密碼, 需要過濾temporary password關鍵字查看對應登陸數據庫密碼[root@nginx ~]# grep 'temporary password' /var/log/mysqld.log#5.登陸mysql數據庫[password中填寫上一步過濾的密碼][root@web02 ~]# mysql -uroot -p$(awk '/temporary password/{print $NF}' /var/log/mysqld.log)#6.重新修改數據庫密碼mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'RSX123.com';

2.備份原數據庫中的數據

#1.指定導出對應的數據庫文件。(RSX123.com是數據庫密碼)[root@web02 ~]# mysqldump -uroot -p'RSX123.com' --all-databases --single-transaction > `date +%F%H`-mysql-all.sql#2.拷貝原數據庫備份文件至新的服務器[root@web02 zh]# scp 2018-09-2109-mysql-all.sql root@172.16.1.51:~#3.將數據導入進新的數據庫環境中[root@db01 ~]# mysql -uroot -pRSX123.com <2018-09-2109-mysql-all.sql#4.驗證是否導入成功[root@db01 ~]# mysql -uroot -pRSX123.com #5.登錄數據庫后,查看當前有多少個庫mysql> show databases;#6.使用客戶端測試連接遠端的mysql[root@web01 ~]# mysql -h172.16.1.51 -uroot -pRSX123.com mysql: [Warning] Using a password on the command line interface can be insecure. ERROR 1130 (HY000): Host '172.16.1.7' is not allowed to connect to this MySQL server #7.新的數據庫,配置允許遠程用戶連接#授權所有權限 grant all privileges#授權所有庫所有表 *.* #將授權賦予給哪個用戶,這個用戶只能通過哪個網段過來(%所有) 'all'@'%'#授權該用戶登錄的密碼 identified bymysql> grant all privileges on *.* to 'all'@'%' identified by 'RSX123.com';#8.再次使用客戶端測試連接遠端的mysql[root@web01 ~]# mysql -h172.16.1.51 -uall -pRSX123.com#如果其他機器想測試能否連接數據庫,可以先安裝mysql的客戶端軟件 [root@web02 ~]# yum install mariadb -y [root@web02 ~]# mysql -h172.16.1.51 -uall -pRSX123.com #9.停止web本地的數據庫,刷新網頁看看是否down機[root@web01 ~]# systemctl stop mysqld [root@web01 ~]# systemctl disable mysqld #10.修改Wordpress產品代碼連接數據庫的配置文件[root@web01 ~]# vim /code/wordpress/wp-config.php #數據庫名稱 define('DB_NAME', 'wordpress'); #數據庫用戶 define('DB_USER', 'all'); #數據庫密碼 define('DB_PASSWORD', 'RSX123.com'); #數據庫地址 define('DB_HOST', '172.16.1.51');#11.修改wecenter產品代碼連接數據庫的配置文件 [root@web01 zh]# grep -iR "RSX123.com"|grep -v cache system/config/database.php: 'password' => 'RSX123.com', [root@web01 zh]# vim /code/zh/system/config/database.php 'host' => '172.16.1.51', 'username' => 'all', 'password' => 'RSX123.com', 'dbname' => 'zh',#12.修改edusogho產品代碼連接數據庫的配置文件[root@web01 edu]# grep -iR "RSX123.com"|grep -v cache app/config/parameters.yml: database_password: 'RSX123.com'[root@web01 edu]# vim /code/edu/app/config/parameters.yml parameters: database_driver: pdo_mysql database_host: 172.16.1.51 database_port: 3306 database_name: edu database_user: all database_password: 'RSX123.com'#必須清理緩存 [root@web01 edu]# rm -rf /code/edu/app/cache/*

遷移圖片至獨立服務器

1.準備一臺新的服務器安裝NFS[root@nfs ~]# groupadd -g666 www [root@nfs ~]# useradd -u666 -g666 www [root@nfs ~]# yum install nfs-utils -y[root@nfs ~]# cat /etc/exports /data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) /data/edu 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666) /data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)創建對應的共享目錄,并授權為www[root@nfs ~]# mkdir /data/{blog,zh,edu} -p [root@nfs ~]# chown -R www.www /data/重啟NFS[root@nfs ~]# systemctl restart nfs-server2.WEB客戶端驗證NFS是否安裝成功[root@web01 ~]# yum install nfs-utils -y [root@web01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data/zh 172.16.1.0/24 /data/edu 172.16.1.0/24 /data/blog 172.16.1.0/24============================================================== 3.獲取Wordpress產品的附件和圖片存放的位置瀏覽器->右鍵->檢查->Network->選擇按鈕->點擊一下圖片4.備份web服務器上的Wordpress圖片和附件[root@web01 ~]# cd /code/wordpress/ [root@web01 wordpress]# cp -rp wp-content/ wp-content_back5.客戶端執行掛載操作【Wordpress】[root@web01 ~]# mount -t nfs 172.16.1.31:/data/blog /code/wordpress/wp-content6.恢復原web上存儲的(圖片、附件、語言、主題)[root@web01 wordpress]# cp -rp wp-content_back/* wp-content/ ============================================================== 1.獲取Edu產品的附件和圖片存放的位置瀏覽器->右鍵->檢查->Network->選擇按鈕->點擊一下圖片2.備份edu產品的視頻和圖片視頻:/code/edu/app/data/udisk/ 圖片:/code/edu/web/files/3.備份原有的視頻和圖片[root@web01 edu]# cp -rp web/files/ web/files_bak [root@web01 edu]# cp -rp app/data/ app/data_bak4.執行掛載操作【我僅掛載視頻,其他自行解決】[root@web01 edu]# mount -t nfs 172.16.1.31:/data/edu /oldboy_code4/edu/app/data5.恢復數據至NFS存儲[root@web01 edu]# \cp -rp app/data_bak/* app/data/

轉載于:https://blog.51cto.com/13528471/2281786

總結

以上是生活随笔為你收集整理的LNMP网站架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 69精品人人人人 | 视频一区中文字幕 | 亚洲国产精品视频 | 午夜免费av| 欧美三级a | 黄瓜视频色版 | 日本高清视频一区二区 | a免费毛片 | 亚洲精品在线免费 | 欧美国产日韩一区二区三区 | 在线不卡免费视频 | 麻豆av电影网 | 右手影院亚洲欧美 | 色婷婷久久综合中文久久蜜桃av | 色94色欧美sute亚洲线路二 | 午夜爽视频 | 91原创视频 | 亚洲a视频在线 | 国产99在线 | 亚洲 | 亚洲精品综合 | 国产在线一区二区视频 | 日韩欧美国产一区二区在线观看 | 东方成人av | 亚洲骚| 免费无遮挡无码永久在线观看视频 | 久热精品视频在线 | 成人在线免费观看视频 | 91porny九色91啦中文 | 国产最新自拍视频 | 日本十八禁视频无遮挡 | 国产91在线精品 | 日本人与黑人做爰视频 | 免费中文字幕视频 | 天天干干干干干 | 日韩中文字幕不卡 | 澳门免费av | 国产69精品麻豆 | 国产一级特黄毛片 | 亚洲女人天堂成人av在线 | 黄色污污视频软件 | 亚洲AV无码久久精品浪潮 | 欧美freesex黑人又粗又大 | 人人超碰97| av网站免费在线观看 | 久久精视频 | 日韩国产精品久久 | 国产精品白虎 | 久久精品一级片 | 91久久精品国产91性色tv | av激情影院 | 国产精品麻豆入口 | 亲嘴扒胸摸屁股免费视频日本网站 | 亚洲A∨无码国产精品 | 日本天堂在线视频 | 国产一区精品视频 | 夜夜天天拍拍 | 一本色道久久88亚洲精品综合 | 亚洲第一视频网站 | 狠狠的日 | 视频国产精品 | 潘金莲裸体一级淫片视频 | 成人性生交大片免费卡看 | 韩国av在线免费观看 | 成人看片黄a免费看视频 | 欧美成人国产精品高潮 | 欧美一区二区三区激情视频 | 制服丝袜在线播放 | 久久精品福利 | 手机在线一区二区三区 | 日韩电影在线一区二区 | 亚洲美女啪啪 | 成人黄色性视频 | 国产不卡在线观看视频 | 黄色工厂在线观看 | 日日夜夜91| 亚洲黄片一区 | 人成精品 | 亚洲无av | 欧美精品免费看 | 久久国产劲爆∧v内射 | 欧美日韩不卡一区二区三区 | 九九这里只有精品视频 | 日韩特黄毛片 | 亚洲av永久无码精品放毛片 | 超碰黑丝 | 国产精品一区二区三区久久 | 男人天堂avav | 先锋av在线资源 | 国产一区福利 | 91久久国产精品 | 免费在线性爱视频 | 91成品人影院 | av在线有码| 国产码视频 | 一区二区三区麻豆 | 国产精品福利在线观看 | 亚洲精选免费 | 欧美大片在线免费观看 | 国产丝袜在线 |