Apache与Nginx实现Web页面动静分离(产生的原因,应用场景)
生活随笔
收集整理的這篇文章主要介紹了
Apache与Nginx实现Web页面动静分离(产生的原因,应用场景)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 動靜分離產生的原因
- 服務作用場景
- 實驗步驟
- 配置apache服務
- 配置Nginx服務器
動靜分離產生的原因
Nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。動靜分離技術其實是采用代理的方式,在server{}段中加入帶正則匹配的location來指定匹配項
針對PHP的動靜分離:靜態頁面交給Nginx處理,動態頁面交給PHP-FPM模塊或Apache處理。
在Nginx的配置中,是通過location配置段配合正則匹配實現靜態與動態頁面的不同處理方式
服務作用場景
本案例根據企業需要,將配置Nginx實現動靜分離,對 php頁面的請求轉發給LAMP處理,而靜態頁面交給Nginx處理,以實現動靜分離。
實驗步驟
配置apache服務
[root@localhost ~]# yum -y install httpd-devel[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http success [root@localhost ~]# firewall-cmd --reload success [root@localhost ~]# iptables -F [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl start httpd安裝數據庫
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel開啟mariadb服務
[root@localhost ~]# systemctl start mariadb.service開啟mariadb服務并查看服務端口是否開啟
[root@localhost ~]# netstat -ntap | grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 9019/mysqld配置數據庫
[root@localhost ~]# mysql_secure_installation In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.Enter current password for root (enter for none): 回車 是否給root管理員設置密碼Set root password? [Y/n] y 是 New password: Re-enter new password: Password updated successfully! Reloading privilege tables..... Success! Remove anonymous users? [Y/n] n 是否刪除匿名用戶... skipping. Disallow root login remotely? [Y/n] n ## 是否拒絕root用戶遠程登錄... skipping. Remove test database and access to it? [Y/n] n 拒絕遠程登錄 Remove test database and access to it? [Y/n] n 是否刪除測試數據庫... skipping. Reload privilege tables now? [Y/n] y 是否加載權限列表... Success!安裝PHP服務及php與mysql連接依賴包
[root@localhost ~]# yum -y install php [root@localhost ~]# yum -y install php-mysql安裝PHP插件
[root@localhost ~]# yum -y install php-gh php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl-devel php-bcnath創建php首頁
[root@localhost html]# vim /var/www/html/index.php <?php phpinfo(); ?> ~ [root@localhost html]# systemctl restart httpd配置Nginx服務器
將nginx安裝包上傳大服務器/opt目錄下,解壓縮
[root@nginx opt]# tar zxvf nginx-1.12.2.tar.gz創建nginx程序用戶
[root@promote nginx-1.12.2]# useradd -M -s /sbin/nologin nginx安裝編譯及依賴環境
[root@promote nginx-1.12.2]# yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel進入目錄進行安裝前配置
[root@localhost nginx-1.12.2]# ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module編譯&安裝
[root@localhost nginx-1.12.2]# make && make install創建命令軟連接
[root@promote nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/開啟nginx服務
[root@promote nginx-1.12.2]# service nginx start [root@promote nginx-1.12.2]#systemctl stop firewalld [root@promote nginx-1.12.2]#setenforce 0查看服務是否開啟
[root@promote nginx-1.12.2]# netstat -ntap | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 11162/nginx: master tcp 0 0 192.168.136.88:39252 36.156.207.242:80 TIME_WAIT - tcp 0 0 192.168.136.88:50406 210.28.130.3:80 TIME_WAIT - tcp 0 0 192.168.136.88:50404 210.28.130.3:80 TIME_WAIT安裝elinks命令行瀏覽器
[root@promote nginx-1.12.2]# elinks http://192.168.136.88
按q退出
開始配置動靜分離,編輯nginx配置文件
[root@promote nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf找到下面的并開啟動靜分離location ~ \.php$ { //開啟proxy_pass http://192.168.136.40;}ps: proxy_pass轉發處理
重啟nginx服務
nginx -s quit ## 關閉nginx服務 nginx ## 開啟nginx服務本案例根據企業需要,將配置Nginx實現動靜分離,對 php頁面的請求轉發給LAMP處理,而靜態頁面交給Nginx處理,以實現動靜分離。
總結
以上是生活随笔為你收集整理的Apache与Nginx实现Web页面动静分离(产生的原因,应用场景)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 揭秘hynix内存条b1b2时序:性能影
- 下一篇: Tomcat服务安装与部署(安装与优化)