導航:首頁 > IDC知識 > linuxnginx代理伺服器

linuxnginx代理伺服器

發布時間:2021-03-27 15:13:33

1、如何在linux系統安裝php代理伺服器和MYSQL?

下載安裝一般現在的linux安裝鏡像或者光碟安裝都自帶mysql。在裝linux是自定義組件安裝裡面有。下載php和nginx安裝, # 下載最新版本Nginx 網址 http://nginx.org/en/download.html wget http://nginx.org/download/nginx-0.8.53.tar.gz # 解壓下載下好的源碼包 tar zxvf nginx-0.8.53.tar.gz # 進入解壓出的源碼文件夾 cd nginx-0.8.53 # 配置nginx ./configure --prefix=/opt/nginx --with-http_stub_status_mole 解釋: --prefix 為安裝路徑,--with-為需要安裝的模塊,具體可以運行 ./configure --help 查看有效模塊 # 編譯並安裝 nginx make && make install # 啟動 nginx /opt/nginx/sbin/nginx # 停止 nginx /opt/nginx/sbin/nginx -s stop # 重載 nginx /opt/nginx/sbin/nginx -s reload 其他配置你在豆丁文檔裡面搜索會發現有很詳細的教程。最後 lnmp是一個經典架構的名稱,學php一開始聽過一次。。他字面意思樓主不是已經寫出來了么。。。就是linux下nginx...mysql php 首字母縮寫。。就是在linux系統下用代理伺服器 資料庫 網頁開發的一種web服務模式

2、我的伺服器是八核心的linux伺服器,使用nginx做反向代理,請問如果開啟gzip支持,對伺服器CPU消耗大嗎?

小case了。
首先,最終的評價指標是用戶體驗(也就是用戶打開網頁快不快了)。
基於此,現在的瓶頸基本是中間網路的速度而不是CPU的計算時間(如果傳輸較大的文件,當然就慢了),而伺服器的性能都很強勁,所以很多都選擇gzip壓縮成小文件,沒關系的,這個是很成熟的用法了。

3、linux下如何配置nginx伺服器

百度nginx,就有很多配置安裝技巧了。問題的涉及范圍太廣了,不好回答。

僅作參考:

#運行用戶
user nobody;
#啟動進程,通常設置成和cpu的數量相等
worker_processes  1;

#全局錯誤日誌及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#工作模式及連接數上限
events {
    #epoll是多路復用IO(I/O Multiplexing)中的一種方式,
    #僅用於linux2.6以上內核,可以大大提高nginx的性能
    use   epoll; 

    #單個後台worker process進程的最大並發鏈接數    
    worker_connections  1024;

    # 並發總數是 worker_processes 和 worker_connections 的乘積
    # 即 max_clients = worker_processes * worker_connections
    # 在設置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4  為什麼
    # 為什麼上面反向代理要除以4,應該說是一個經驗值
    # 根據以上條件,正常情況下的Nginx Server可以應付的最大連接數為:4 * 8000 = 32000
    # worker_connections 值的設置跟物理內存大小有關
    # 因為並發受IO約束,max_clients的值須小於系統可以打開的最大文件數
    # 而系統可以打開的最大文件數和內存大小成正比,一般1GB內存的機器上可以打開的文件數大約是10萬左右
    # 我們來看看360M內存的VPS可以打開的文件句柄數是多少:
    # $ cat /proc/sys/fs/file-max
    # 輸出 34336
    # 32000 < 34336,即並發連接總數小於系統可以打開的文件句柄總數,這樣就在操作系統可以承受的范圍之內
    # 所以,worker_connections 的值需根據 worker_processes 進程數目和系統可以打開的最大文件總數進行適當地進行設置
    # 使得並發總數小於操作系統可以打開的最大文件數目
    # 其實質也就是根據主機的物理CPU和內存進行配置
    # 當然,理論上的並發總數可能會和實際有所偏差,因為主機還有其他的工作進程需要消耗系統資源。
    # ulimit -SHn 65535

}


http {
    #設定mime類型,類型由mime.type文件定義
    include    mime.types;
    default_type  application/octet-stream;
    #設定日誌格式
    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  logs/access.log  main;

    #sendfile 指令指定 nginx 是否調用 sendfile 函數(zero copy 方式)來輸出文件,
    #對於普通應用,必須設為 on,
    #如果用來進行下載等應用磁碟IO重負載應用,可設置為 off,
    #以平衡磁碟與網路I/O處理速度,降低系統的uptime.
    sendfile     on;
    #tcp_nopush     on;

    #連接超時時間
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay     on;

    #開啟gzip壓縮
    gzip  on;
    gzip_disable "MSIE [1-6].";

    #設定請求緩沖
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;


    #設定虛擬主機配置
    server {
        #偵聽80埠
        listen    80;
        #定義使用 www.zz04.com訪問
        server_name  www.zz04.com;

        #定義伺服器的默認網站根目錄位置
        root html;

        #設定本虛擬主機的訪問日誌
        access_log  logs/nginx.access.log  main;

        #默認請求
        location / {
            
            #定義首頁索引文件的名稱
            index index.php index.html index.htm;   

        }

        # 定義錯誤提示頁面
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
        }

        #靜態文件,nginx自己處理
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            
            #過期30天,靜態文件不怎麼更新,過期可以設大一點,
            #如果頻繁更新,則可以設置得小一點。
            expires 30d;
        }

        #PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI默認配置.
        location ~ .php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

        #禁止訪問 .htxxx 文件
            location ~ /.ht {
            deny all;
        }

    }
}

4、linux下怎樣配置nginx

Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件代理伺服器,並在一個BSD-like 協議下發行。
其特點是佔有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁伺服器中表現較好。
雲帆提供Flash端的SDK開發包,你可根據自己的需求開發成視頻網站和視頻播放器,使用雲帆技術可以幫助你快速輕量級的實現視頻網站和視頻播放器,降低編解碼技術和網路傳輸技術的開發成本。其中,便支持自搭建Nginx、apache服務。

5、linux 伺服器兩台跨網段機器,做單網卡雙ip之後,用nginx做代理實現互訪

兩機配置虛擬IP
然後兩機做
keepalived+nginx雙機熱備

6、如何在linux下搭建nginx伺服器

1、下載後解壓nginx

tar -zxvf nginx-1.4.7.tar.gz
2、安裝gcc等依賴包
yum -y install gcc pcre-devel openssl openssl-devel
3、開始安裝nginx
cd進入nginx-1.4.7目錄內
./configure 編譯
make&&make install 這一步需要先cd出來嗎?在裡面會安裝失敗嗎?我忘了 = =
4、此時就已經安裝完成,默認安裝在了/usr/local/nginx/sbin/nginx
5、啟動
命令行輸入/usr/local/nginx/sbin/nginx,沒反應
輸入ps -ef | grep nginx查看nginx進程
6、測試
命令行輸入 curl http://127.0.0.1
會出現welcome to nginx之類的就說明對了!
7、加入到環境變數
vim /etc/profile
尾行添加
PATH=$PATH:/usr/local/nginx/sbin
export PATH
保存關閉後運行 source /etc/profile 即會加入環境變數
8、常用命令
[root@ usr]# nginx -s stop停止nginx
[root@ usr]# nginx 運行nginx
[root@ usr]# nginx -s reload 重啟nginx
[root@ usr]# nginx -t 測試nginx
9、防火牆允許外網訪問
vim /etc/sysconfig/iptables
添加過濾規則
-A -INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
好像是保存後即時生效把?
service iptables stop
service iptables start
重啟服務後還是會生效,親測
10、修改網站默認根目錄路徑
網站默認根目錄放在/usr/local/nginx/html
命令行輸入 vim /usr/local/nginx/conf/nginx.conf
找到改為
server {
listen 80;
server_name localhost;
root /var/www/html/default;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
index index.html index.htm;
}
注釋掉下面的,在上面添加自己想要的根目錄,重啟nginx才能生效。

7、linux 怎麼用nginx 搭建網站

Hi, 今天我們將會學習如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/負載均衡伺服器。Weave 可以創建一個虛擬網路將 Docker 容器彼此連接在一起,支持跨主機部署及自動發現。它可以讓我們更加專注於應用的開發,而不是基礎架構。Weave 提供了一個如此棒的環境,彷彿它的所有容器都屬於同個網路,不需要埠/映射/連接等的配置。容器中的應用提供的服務在 weave 網路中可以輕易地被外部世界訪問,不論你的容器運行在哪裡。在這個教程里我們將會使用 weave 快速並且簡單地將 nginx web 伺服器部署為一個負載均衡器,反向代理一個運行在 Amazon Web Services 裡面多個節點上的 docker 容器中的簡單 php 應用。這里我們將會介紹 WeaveDNS,它提供一個不需要改變代碼就可以讓容器利用主機名找到的簡單方式,並且能夠讓其他容器通過主機名連接彼此。 在這篇教程里,我們將使用 nginx 來將負載均衡分配到一個運行 Apache 的容器集合。最簡單輕松的方法就是使用 Weave 來把運行在 ubuntu 上的 docker 容器中的 nginx 配置成負載均衡伺服器。 Docker之weave工具 weave是什麼呢?weave創建了一個虛擬網路,用來連接部署在多台機器上的docker容器。 下面看看weave的應用場景: 應用在使用該網路的時候就像所有的容器都在同一個交換機網路下一樣,不需要配置埠映射、連接等等,容器中的應用提供的服務在weaver網路中可以被外部世界訪問,不論你的容器運行在哪裡。同樣的,已經存在的系統應用也可以暴露給容器中的應用來調用,而不用擔心內部應用運行的位置。 weave可以穿透防火牆,流量是被加密的,允許主機連接通過一個不被信任的網路,使用weave你可以方便的部署多個容器在不同的地方運行 假如你有一個docker應用運行在兩台不同的主機HOST1和HOST2上面,也就是我們要在這兩台主機上各部署一個相同類型的docker應用。 在HOST1上面:啟動weave 代碼如下: #這一步先啟動weave路由,需要在每一台HOST上都啟動 weave launch #啟動一個容器,在命令行設置了一個ip,weave run調用docker run -d,因此我們可以使用這種辦法啟動一個容器,同理存在weave start命令,它是調用docker start命令啟動已經存在的容器,如果我們在該HOST1上有多個容器要部署,則繼續執行第二行的命令即可,只要保證容器設置的ip沒有沖突即可,同一個網段的ip可以到處使用 ssh=$(weave run 10/weaveworks/guides $ cd weave-gs/aws-nginx-ubuntu-simple 在克隆完倉庫之後,我們執行下面的腳本,這個腳本將會部署兩個 t1.micro 實例,每個實例中都是 ubuntu 作為操作系統並用 weave 跑著 docker 容器。 復制代碼 代碼如下: $ sudo ./demo-aws-setup.sh 在這里,我們將會在以後用到這些實例的 IP 地址。這些地址儲存在一個 weavedemo.env 文件中,這個文件創建於執行 demo-aws-setup.sh 腳本期間。為了獲取這些 IP 地址,我們需要執行下面的命令,命令輸出類似下面的信息。 代碼如下: $ cat weavedemo.env export WEAVE_AWS_DEMO_HOST1=52.26.175.175 export WEAVE_AWS_DEMO_HOST2=52.26.83.141 export WEAVE_AWS_DEMO_HOSTCOUNT=2 export WEAVE_AWS_DEMO_HOSTS=(52.26.175.175 52.26.83.141) 請注意這些不是固定的 IP 地址,AWS 會為我們的實例動態地分配 IP 地址。 我們在 bash 下執行下面的命令使環境變數生效。 代碼如下: . ./weavedemo.env 2. 啟動 Weave 和 WeaveDNS 在安裝完實例之後,我們將會在每台主機上啟動 weave 以及 weavedns。Weave 以及 weavedns 使得我們能夠輕易地將容器部署到一個全新的基礎架構以及配置中, 不需要改變代碼,也不需要去理解像 Ambassador 容器以及 Link 機制之類的概念。下面是在第一台主機上啟動 weave 以及 weavedns 的命令。 代碼如下: ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1 $ sudo weave launch $ sudo weave launch-dns 10.2.1.1/24 下一步,我也准備在第二台主機上啟動 weave 以及 weavedns。 代碼如下: ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST2 $ sudo weave launch $WEAVE_AWS_DEMO_HOST1 $ sudo weave launch-dns 10.2.1.2/24 3. 啟動應用容器 現在,我們准備跨兩台主機啟動六個容器,這兩台主機都用 Apache2 Web 服務實例跑著簡單的 php 網站。為了在第一個 Apache2 Web 伺服器實例跑三個容器, 我們將會使用下面的命令。 復制代碼 代碼如下: ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1 $ sudo weave run --with-dns 10.3.1.1/24 -h ws1.weave.local fintanr/weave-gs-nginx-apache $ sudo weave run --with-dns 10.3.1.2/24 -h ws2.weave.local fintanr/weave-gs-nginx-apache $ sudo weave run --with-dns 10.3.1.3/24 -h ws3.weave.local fintanr/weave-gs-nginx-apache 在那之後,我們將會在第二個實例上啟動另外三個容器,請使用下面的命令。 代碼如下: ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST2 $ sudo weave run --with-dns 10.3.1.4/24 -h ws4.weave.local fintanr/weave-gs-nginx-apache $ sudo weave run --with-dns 10.3.1.5/24 -h ws5.weave.local fintanr/weave-gs-nginx-apache $ sudo weave run --with-dns 10.3.1.6/24 -h ws6.weave.local fintanr/weave-gs-nginx-apache 注意: 在這里,--with-dns 選項告訴容器使用 weavedns 來解析主機名,-h x.weave.local 則使得 weavedns 能夠解析該主機。 4. 啟動 Nginx 容器 在應用容器如預期的運行後,我們將會啟動 nginx 容器,它將會在六個應用容器服務之間輪詢並提供反向代理或者負載均衡。 為了啟動 nginx 容器,請使用下面的命令。 復制代碼 代碼如下: ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1 $ sudo weave run --with-dns 10.3.1.7/24 -ti -h nginx.weave.local -d -p 80:80 fintanr/weave-gs-nginx-simple 因此,我們的 nginx 容器在 $WEAVEAWSDEMO_HOST1 上公開地暴露成為一個 http 伺服器。 5. 測試負載均衡伺服器 為了測試我們的負載均衡伺服器是否可以工作,我們執行一段可以發送 http 請求給 nginx 容器的腳本。我們將會發送6個請求,這樣我們就能看到 nginx 在一次的輪詢中服務於每台 web 伺服器之間。 代碼如下: $ ./access-aws-hosts.sh { "message" : "Hello Weave - nginx example", "hostname" : "ws1.weave.local", "date" : "2015-06-26 12:24:23" } { "message" : "Hello Weave - nginx example", "hostname" : "ws2.weave.local", "date" : "2015-06-26 12:24:23" } { "message" : "Hello Weave - nginx example", "hostname" : "ws3.weave.local", "date" : "2015-06-26 12:24:23" } { "message" : "Hello Weave - nginx example", "hostname" : "ws4.weave.local", "date" : "2015-06-26 12:24:23" } { "message" : "Hello Weave - nginx example", "hostname" : "ws5.weave.local", "date" : "2015-06-26 12:24:23" } { "message" : "Hello Weave - nginx example", "hostname" : "ws6.weave.local", "date" : "2015-06-26 12:24:23" } 結束語 我們最終成功地將 nginx 配置成一個反向代理/負載均衡伺服器,通過使用 weave 以及運行在 AWS(Amazon Web Service)EC2 裡面的 ubuntu 伺服器中的 docker。從上面的步驟輸出可以清楚的看到我們已經成功地配置了 nginx。我們可以看到請求在一次輪詢中被發送到6個應用容器,這些容器在 Apache2 Web 伺服器中跑著 PHP 應用。在這里,我們部署了一個容器化的 PHP 應用,使用 nginx 橫跨多台在 AWS EC2 上的主機而不需要改變代碼,利用 weavedns 使得每個容器連接在一起,只需要主機名就夠了,眼前的這些便捷, 都要歸功於 weave 以及 weavedns。

與linuxnginx代理伺服器相關的知識