中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Nginx動靜分離(實戰!)

發布時間:2020-10-25 00:48:05 來源:網絡 閱讀:57682 作者:一拳超人007 欄目:系統運維

Nginx動靜分離介紹

  • Nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術
  • 針對PHP的動靜分離
    靜態頁面交給Nginx處理
    動態頁面交給PHP-FPM模塊或Apache處理
  • 在Nginx的配置中,是通過location配置段配個正則匹配實現靜態與動態頁面的不同處理方式

反向代理原理

  • Nginx不僅能作為web服務器,還具有反向代理,負載均衡和緩存的功能
  • Nginx通過proxy模塊實現將客戶端的請求代理至上游服務器,此時Nginx與上游服務器的連接是通過http協議進行的
  • Nginx在實現反向代理功能時最重要指令為proxy_pass,它能夠根據URI,客戶端參數或其他的處理邏輯將用戶請求調度至上游服務器

實驗環境

LAMP服務器(192.168.13.139)
Nginx服務器(192.168.13.140)

一,搭建LAMP(簡易搭建)

1,安裝Apache服務,并允許通過防火墻進行訪問

[root@lamp ~]# yum install httpd httpd-devel -y   ##安裝http服務及開發包
[root@lamp ~]# systemctl start httpd.service   ##開啟服務
[root@lamp ~]# firewall-cmd --permanent --zone=public --add-service=http   ##防火墻允許http
success
[root@lamp ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@lamp ~]# firewall-cmd --reload   ##重啟防火墻
success

2,安裝mariadb數據庫

[root@lamp ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
##安裝數據庫
[root@lamp ~]# systemctl start  mariadb   ##開啟數據庫
[root@lamp ~]# netstat -ntap | grep 3306   ##查看端口號3306
tcp    0     0 0.0.0.0:3306       0.0.0.0:*     LISTEN     2200/mysqld  
[root@lamp ~]# mysql_secure_installation   ##設置數據庫

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y    ##設置root密碼
New password:       ##輸入密碼
Re-enter new password:     ##確認密碼

Remove anonymous users? [Y/n] n   ##允許匿名訪問
 ... skipping.

Disallow root login remotely? [Y/n] n  ##允許遠程登錄
 ... skipping.

Remove test database and access to it? [Y/n] n    ##保留測試數據庫
 ... skipping.

Reload privilege tables now? [Y/n] y     ##重啟數據庫
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

3,安裝PHP,并進行數據庫關聯

[root@lamp ~]# yum install php -y             ##安裝PHP
[root@lamp ~]# yum install php-mysql -y   ##建立php和mysql關聯
[root@lamp ~]# yum install -y \
> php-gd                                                    ##GD庫是php處理圖形的擴展庫
> php-ldap                                                ##輕量級目錄訪問協議
> php-odbc                                              ##應用程序編程接口
> php-pear                                             ##擴展應用代碼庫
> php-xml php-xmlrpc                           ##xml文件
> php-mbstring                                     ##多字節字符串
> php-snmp                                          ##管理端開發
> php-soap                                           ##SOAP 擴展可以用來提供和使用 Web Services
> curl curl-devel                                   ##支持數據文件下載工具
> php-bcmath                                      ##BCMath庫來支持更加精確的計算

4,切換到站點,編輯網頁內容

[root@lamp ~]# cd /var/www/html/   ##切換到站點
[root@lamp html]# vim index.php    ##編輯php網頁內容
<?php
    phpinfo();
?>

5,測試網頁

Nginx動靜分離(實戰!)

[root@lamp html]# vim index.php    ##編輯php網頁內容
<?php
echo "apache web !"
?>

Nginx動靜分離(實戰!)

二,安裝Nginx

1,在Linux上使用遠程共享獲取文件并掛載到mnt目錄下

[root@localhost ~]# smbclient -L //192.168.100.3/   ##遠程共享訪問
Enter SAMBA\root's password: 

                                Sharename       Type      Comment
                                ---------       ----      -------
                                LNMP-C7         Disk       
[root@localhost ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt  ##掛載到/mnt目錄下

2,解壓源碼包到/opt下,并查看

[root@localhost ~]# cd /mnt    ##切換到掛載點目錄
[root@localhost mnt]# ls
Discuz_X3.4_SC_UTF8.zip    nginx-1.12.2.tar.gz
mysql-boost-5.7.20.tar.gz  php-7.1.20.tar.gz
[root@localhost mnt]# tar zxvf nginx-1.12.2.tar.gz -C /opt   ##解壓Nginx源碼包到/opt下
[root@localhost mnt]# cd /opt/    ##切換到解壓的目錄下
[root@localhost opt]# ls
nginx-1.12.2  rh

3,安裝編譯需要的環境組件包

[root@localhost opt]# yum -y install \
gcc \                                       //c語言
gcc-c++ \                        //c++語言
pcre-devel \                     //pcre語言工具
zlib-devel                       //數據壓縮用的函式庫

4,創建程序用戶nginx并編譯Nginx

[root@localhost opt]# useradd -M -s /sbin/nologin nginx  ##創建程序用戶,安全不可登陸狀態
[root@localhost opt]# id nginx
uid=1001(nginx) gid=1001(nginx) 組=1001(nginx)
[root@localhost opt]# cd nginx-1.12.0/                 ##切換到nginx目錄下
[root@localhost nginx-1.12.0]# ./configure \         ##配置nginx
> --prefix=/usr/local/nginx \        ##安裝路徑
> --user=nginx \                         ##用戶名
> --group=nginx \                       ##用戶組
> --with-http_stub_status_module     ##狀態統計模塊

5,編譯和安裝

[root@localhost nginx-1.12.0]# make     ##編譯
...
[root@localhost nginx-1.12.0]# make install   ##安裝
...
[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
##創建軟連接讓系統識別nginx啟動腳本

6,制作管理腳本,便于使用service管理使用

[root@localhost nginx]# cd /etc/init.d/   ##切換到啟動配置文件目錄
[root@localhost init.d]# ls
functions  netconsole  network  README
[root@localhost init.d]# vim nginx         ##編輯啟動腳本文件

#!/bin/bash
# chkconfig: - 99 20                                    ##注釋信息
# description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"           ##設置變量為nginx命令文件
PIDF="/usr/local/nginx/logs/nginx.pid"       ##設置變量PID文件 進程號為5346
case "$1" in  
        start)
                $PROG                                              ##開啟服務
                ;;
        stop)
                kill -s QUIT $(cat $PIDF)                    ##關閉服務
                ;;
        restart)                                                  ##重啟服務
                $0 stop
                $0 start
                ;;
        reload)                                                  ##重載服務
                kill -s HUP $(cat $PIDF)
                ;;
        *)                                                           ##錯誤輸入提示
                                echo "Usage: $0 {start|stop|restart|reload}"
                                exit 1
esac
exit 0
[root@localhost init.d]# chmod +x /etc/init.d/nginx    ##給啟動腳本執行權限
[root@localhost init.d]# chkconfig --add nginx          ##添加到service管理器中
[root@localhost init.d]# service nginx stop                ##就可以使用service控制nginx
[root@localhost init.d]# service nginx start

7,安裝elinks測試Nginx網頁

[root@localhost init.d]# yum install elink -y  ##安裝軟件
[root@localhost init.d]# netstat -ntap | grep 80   ##查看Nginx端口
tcp     0   0 0.0.0.0:80    0.0.0.0:*    LISTEN    44663/nginx: master 
[root@localhost init.d]# systemctl stop firewalld.service   ##關閉防火墻
[root@localhost init.d]# setenforce 0
[root@localhost init.d]# elinks http://192.168.13.140/  ##測試網頁

Nginx動靜分離(實戰!)

8,訪問Nginx網頁

Nginx動靜分離(實戰!)
Nginx動靜分離(實戰!)

三,修改Nginx配置文件開啟動靜分離

[root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf  ##修改配置文件

     location ~ \.php$ {    ##找到此處將注釋去除,開啟動靜分離
        proxy_pass   http://192.168.13.139;   ##填寫動態處理的Apache的服務器地址
        }
[root@localhost init.d]# service nginx stop   ##關閉
[root@localhost init.d]# service nginx start   ##開啟

四,測試網頁(192.168.13.140)

Nginx動靜分離(實戰!)
Nginx動靜分離(實戰!)

實現了動靜分離處理,Nginx處理靜態,Apache處理動態信息

謝謝閱讀!

向AI問一下細節

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

AI

海南省| 遂川县| 长沙县| 师宗县| 娱乐| 拉孜县| 韶山市| 呼玛县| 翁牛特旗| 密云县| 荣成市| 德钦县| 松江区| 瑞丽市| 西乌| 桐城市| 南阳市| 翼城县| 永城市| 镇巴县| 和硕县| 固安县| 廊坊市| 武清区| 伊金霍洛旗| 汝阳县| 五华县| 安远县| 海林市| 西藏| 平定县| 南郑县| 临武县| 方正县| 历史| 玉溪市| 托克托县| 白沙| 光泽县| 博野县| 宜春市|