溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

NGINX怎么部署動靜分離

發(fā)布時間:2022-02-16 16:02:55 來源:億速云 閱讀:137 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“NGINX怎么部署動靜分離”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“NGINX怎么部署動靜分離”吧!

NGINX怎么部署動靜分離

一、項目簡述

部署wordpress實現(xiàn)整個網(wǎng)站的動靜分離,實現(xiàn)如下要求:

1.前端Nginx收到靜態(tài)請求,直接從NFS中返回給客戶端。

2.前端Nginx收到動態(tài)請求轉(zhuǎn)交給通過FastCGI交給PHP服務(wù)器處理。

—-如果得到靜態(tài)結(jié)果直接從NFS取出結(jié)果交給Nginx然后返回給客戶端。

—-如果需要數(shù)據(jù)處理PHP服務(wù)器連接數(shù)據(jù)庫后將結(jié)果返回給Nginx

3.前端Nginx收到圖片請求以.jpg、.png、.gif等請求交給后端Images服務(wù)器處理。

NGINX怎么部署動靜分離

二、整體架構(gòu)圖

NGINX怎么部署動靜分離

三、配置詳解

1.NFS服務(wù)器配置
vim /etc/exports
/app/blog   10.10.0.0/24(ro,sync,root_squash,no_all_squash) # 只允許內(nèi)網(wǎng)網(wǎng)段掛載,提高安全性。cd /app/blog                                                # 將wordpress文件解壓tar  -xvf  wordpress-4.8.1-zh_CN.tar.gz
2.Nginx服務(wù)器配置

首先Nginx與PHP服務(wù)器都要掛載NFS。實現(xiàn)統(tǒng)一部署方便管理

mount 10.10.0.72:/app/blog /app/blog # 將NFS的/app/blog掛載至本地的/app/blog

然后再配置Nginx

Nginx主要是server中的location的配置。配置location將.php結(jié)尾的交給PHP服務(wù)器。將.jpg、gif結(jié)尾的交給Image。其他配置按默認即可。

vim /etc/nginx/nginx.conf
http {
   log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                     '$status $body_bytes_sent "$http_referer" '                     '"$http_user_agent" "$http_x_forwarded_for"';
   access_log  /var/log/nginx/access.log  main;
   sendfile                on;
   tcp_nopush           on;
   tcp_nodelay             on;
   keepalive_timeout   65;
   types_hash_max_size 2048;
   include             /etc/nginx/mime.types;
   default_type        application/octet-stream;
   include /etc/nginx/conf.d/*.conf;
   server {
       listen       80 default_server;
       server_name  www.shuaiguoxia.com;
       index index.php index.html;
       root /app/blog;                                     # 根目錄為掛載的NFS的掛載點       include /etc/nginx/default.d/*.conf;
       location ~* \.php$ {                                # location匹配將php結(jié)尾的交給PHP服務(wù)器               fastcgi_pass 10.10.0.22:9000;
               fastcgi_index index.php;
               fastcgi_param SCRIPT_FILENAME /app/blog$fastcgi_script_name;
               include fastcgi_params;
       }
       location ~* \.(jpg|gif)$ {                          # location匹配將圖片交給Image處理               proxy_pass http://10.10.0.23:80;            # Image服務(wù)器要開啟web服務(wù)       }
       error_page 404 /404.html;
           location = /40x.html {
       }
       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }
   }
3.PHP服務(wù)器配置

PHP服務(wù)器的配置比較簡單,主要講PHP以FPM模式安裝后進行簡單的配置即可

yum install php-fpm php-mysql
vim /etc/php-fpm.d/www.conf
listen = 9000                                   # 只寫監(jiān)聽端口,即監(jiān)聽所有IPlisten.allowed_clients = any                    # 允許所有IP進行訪問?;蛘邔⑦@行注釋。
4.MySQL服務(wù)器
yum install marirdb-server
/usr/local/mysql/bin/myhsql_secure_installation         #MySql初始化腳本,以下為每一項的翻譯 是否設(shè)置root密碼
 輸入密碼
 確認密碼
 是否設(shè)置匿名用戶
 是否允許root遠程登錄
 刪除test數(shù)據(jù)庫
 現(xiàn)在是否生效

mysql -uroot -p

create database wpdb;                                   # 創(chuàng)建wp數(shù)據(jù)庫grant all on wpdb.* to wpadm@'10.10.%' idenfied by 'centos';    # 授權(quán)用戶。用戶不存在系統(tǒng)會自動創(chuàng)建
5.Image服務(wù)器配置
yum install nginx                               # 安裝Nginxcd /app/image                                   # 將所有圖片解壓至此路徑。圖片的目錄結(jié)構(gòu)要保持原樣tar  -xvf  wordpress-4.8.1-zh_CN.tar.gz
server {
       root      /app/image;                   # 僅僅修改根目錄這一行即可。Httpd同理       }                                       # 如果使用apache要注意在CentOS7下默認拒絕所有nginx start                                     # 啟動服務(wù)
6.配置wordpress
cp wp-config-sample.php wp-config.php           # 復制一個模板文件后改名作為主配置文件vim wp-config.php
/** WordPress數(shù)據(jù)庫的名稱 */  
define('DB_NAME', 'wpdb');                      # wpdb為MySQL中創(chuàng)建的數(shù)據(jù)庫/** MySQL數(shù)據(jù)庫用戶名 */
define('DB_USER', 'wpadm');                     # wpadm為MySQL中授權(quán)的用戶/** MySQL數(shù)據(jù)庫密碼 */
define('DB_PASSWORD', 'centos');                # 授權(quán)用戶的密碼/** MySQL主機 */
define('DB_HOST', '10.10.0.24');                # MySQL主機地址

至此配置就已經(jīng)完成。達到了圖片從圖片服務(wù)器返回,靜態(tài)nginx直接返回,動態(tài)交給PHP進行處理。

感謝各位的閱讀,以上就是“NGINX怎么部署動靜分離”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對NGINX怎么部署動靜分離這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI