wnmpa或lnmpa 伺服器搭建和原理

2022-09-02 04:15:09 字數 4077 閱讀 9183

wnmpa

安裝nginx

進入nginx目錄

新增虛擬主機

偽靜態參考文章

lnmpa

安裝教程

各種坑新手可以先使用windows基礎安裝 明白原理 需要wampserver服務

start nginx.exe--啟動

nginx.exe -s stop--停止nginx

nginx.exe -s quit--退出nginx

補充:另外找到乙個解決方案就是在php的location裡面加上這麼一句話「fastcgi_intercept_errors on;」,原因是預設情況下只要是php檔案,nginx不管他存不存在,都會交給php去處理,這個錯誤其實是php-cgi報告出來的,加上「fastcgi_intercept_errors on;」這個指令後就讓nginx判斷404這樣的常規錯誤啦^^

在nginx.conf 主server{}後新增

include d:/wnmp/nginx/conf/vhost/*.conf;
新建vhost資料夾 新增類似miku.conf(miku為目錄自定義修改)

server 

#規定需要404頁面

error_page 404 /404.html;

#如果使用php-fpm 來處理php

location ~ \.php$

}

從起nginx

原理

nginx裡使用偽靜態是直接在nginx.conf 中寫規則的,並不需要像apache要開啟寫模組(mod_rewrite)才能進行偽靜態。

location /

.htaccess

反向** apache

說明

下面說下何為反向**,以及為何進行反向**。按照百科的介紹:反向**(reverse proxy)方式是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外就表現為乙個伺服器。說得簡明點,按照我的理解,反向**就是乙個伺服器負責接收外網的請求,但自己不處理,而是告訴其他的內網伺服器去處理,並把人家處理的結果返回給使用者。從使用者角度來看,請求就是這個**伺服器來處理的,實際上他就是**了一下,返回人家的結果

好處

nginx處理靜態內容是把好手,apache雖然占用記憶體多了點,效能上稍遜,但一直比較穩健。倒是nginx的fastcgi有時候會出現502 bad gateway錯誤。乙個可選的方法是nginx做前端**,處理靜態內容,動態請求統統**給後端apache。nginx server配置如下(測試環境):

其中nginx全面接管80埠,apache退居二線,監聽8080埠。

匹配規則
在nginx的配置檔案編寫中,location的匹配規則基本遵循以下2個方面:

先匹配普通,再匹配正則 (但正則匹配可能會覆蓋普通匹配),一句話描述:正則location讓步普通location的嚴格精確匹配結果;但覆蓋普通location的最大字首匹配結果。

匹配普通時與編輯順序無關,匹配正則時與編輯順序有關

1.不帶字首(普通location):最大字首匹配或者嚴格精確匹配

2.=(普通location):等於匹配(嚴格精確匹配)

3.~(普通location):表示「非」,~表示「正則」,意思是:不要繼續匹配正則,(最大字首匹配或者嚴格精確匹配)

4.~(正則location):區分大小寫匹配

5.~*(正則location):不區分大小寫匹配

6.@(指定匹配):指定使用location名稱

參考文章
參考nginx.conf

優化nginx.conf

location 匹配規則

proxy例項講解(http,https)

wamp**使用fastcgi 提高效能 (wamp**預設不使用fastcgi 可在phpifno檢視)

老外神文

大概修改以下檔案

主要操作 主要檔案nginx.conf vhost httpd.conf httpd-vhosts.conf

繼承檔案 proxy.conf proxy-pass-php.conf

額外操作 日誌檔案 log

為了更有效,快捷,偷懶 實際操作時候我用了使用 centos 和 lnmpa環境包

lnmpa 目錄結構

lnmpa相關目錄檔案位置

lnmpa預設**配置檔案:

中文檔名亂碼

首先查詢支援的編碼:

locale -a

如果沒有你需要的編碼,例如zh_cn.utf8

root執行:#dpkg-reconfigure locales

選擇你需要的編碼,用空格選中,可多選。tab選擇「ok」,回車。

預設編碼選擇zh_cn.utf8

安裝你所需要的編碼。

修改/etc/profile,

注釋掉

export lc_all=c
增加

export term=xterm-color

export lc_ctype=zh_cn.gb2312

export lang=en_us.utf-8

注意在配置過程中 可能會遇到防火牆無法連線相關服務

防火牆相關命令如下(centos 6)

service iptables start--啟動

service iptables status--狀態

service iptables stop--停止

service iptables restart--從起

配置檔案目錄

/etc/sysconfig/iptables

內容大致為

*filter 

:input accept [4:116]

:forward accept [0:0]

:output accept [1:152]

-a input -i lo -j accept

-a input -m state --state related,established -j accept

-a input -p tcp -m tcp --dport 22 -j accept

-a input -p tcp -m tcp --dport 80 -j accept

-a input -p tcp -m tcp --dport 3306 -j accept

-a input -p icmp -m icmp --icmp-type 8 -j accept

commit

windows git daemon 伺服器搭建

安裝git 使用不再贅 在資料夾repo 中執行git init新建git倉庫 在 repo目錄下執行git config local receive.denycurrentbranch updateinstead執行git config global sendpack.sideband false...

自搭ngrok伺服器

在阿里雲伺服器自己搭 ngrok 的伺服器,步驟基本跟著 1,2 一步步來,本人需要用到 這裡僅提幾點注意 我那個阿里雲伺服器有個網域名稱,在管理頁可以看的,生成證書時設定export ngrok domain 那個網域名稱 就是用這個網域名稱,後面 ngrokd 的執行引數 client 端的配置...

CentOs下LinuxWeb伺服器的搭建

注意細節,祝大家都能避坑 一 安裝web伺服器所需軟體,設定伺服器的ip為192.168.1.2 1 安裝apache服務程式 apache服務的軟體包名稱叫做httpd yum install httpd y2 將apache服務新增到 開機自啟中 3 設定ip ifconfig ens33 19...