當前位置:首頁 » 雲伺服器 » linux用nginx搭建web伺服器

linux用nginx搭建web伺服器

發布時間: 2022-12-14 16:43:54

A. 如何在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才能生效。

B. 怎麼在linux下搭建一個nginx伺服器

大家對Nginx伺服器有了解嗎?如果想要了解網站伺服器的朋友,那麼就需要學習一下在電腦中搭建Nginx WEB伺服器的基礎,Nginx主要是用在Linux的主機上,不過它也可以運行在Windows上,下面就讓小編為大家介紹下,如何在Winxp系統中搭建Nginx WEB伺服器。 Winxp系統的電腦怎麼搭建Nginx WEB伺服器 具體方法如下: 1、下載Nginx程序包,僅有1M左右大小,相當小巧功能強大! 2、將下載好的zip壓縮包的文件全部解壓,雙擊運行nginx.exe,你會看到一個黑色窗口一閃而過就沒了,這就說明Nginx伺服器已經正式啟動(沒有程序界面的)。 3、在瀏覽器輸入訪問 127.0.0.1 回車,如果看到「Welcome to nginx!」則說明你在本機搭建的伺服器已經成功運行。如果沒有,請檢查你的電腦的80埠是否被佔用,或者打開任務管理器查看一下是否有兩個「nginx.exe」進程在運行。 4、完成以上簡單的三步後,我們的Nginx網頁伺服器就搭建完成了,但是呢到這里只能支持html的純網頁,如果想讓它支持php腳本還需要進一步安裝php的運行環境。 以上方法操作起來十分便捷,想要在XP系統上免費搭建Nginx伺服器的小夥伴們快來看看吧。如有更多疑問,歡迎訪問安下軟體站。

C. linux centOS下怎麼配置web伺服器

1、apache/nginx/tomcat等等都可以,得看你要部署的頁面是什麼格式
2、用yum安裝,例如yum install httpd
3、用源碼編譯安裝,例如nginx-1.6.1.gz
tar zxf pcre-8.13.tar.gz
pushd pcre-8.13
./configure;make;make install
popd
tar zxf nginx-1.6.1.tar.gz
tar jxf zlib-1.2.5.tar.bz2
tar zxf openssl-1.0.1i.tar.gz
pushd nginx-1.6.1
./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin \
--with-http_ssl_mole \
--with-http_sub_mole \
--with-http_flv_mole \
--with-http_stub_status_mole \
--with-zlib=../zlib-1.2.5 \
--with-openssl=../openssl-1.0.1i \
--with-pcre=../pcre-8.13
make;
make install

D. 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。

E. linux下安裝nginx部署多個前端項目

1.先安裝nginx所需要的環境

yum install gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

也可按照如下命令一鍵安裝

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.安裝nginx,安裝在/usr/local下

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

# 解壓縮

tar -zxvf linux-nginx-1.12.2.tar.gz

cd nginx-1.12.2/

# 執行配置

./configure

# 編譯安裝(默認安裝在/usr/local/nginx)

make

make install

安裝完直接訪問 http://121.36.107.248/     默認埠是80

Nginx常用命令

測試配置文件:${Nginx}/sbin/nginx -t

啟動命令:${Nginx}/sbin/nginx

停止命令:${Nginx}/sbin/nginx -s stop/quit

重啟命令:${Nginx}/sbin/nginx -s reload

查看進程命令:ps -ef | grep nginx

平滑重啟:kill -HUP [Nginx主進程號(即ps命令查到的PID)]

喜歡請關注 「蛋皮皮」 微信公眾號!更多干貨等你來學習哦。

F. linux centOS下怎麼配置web伺服器

把在本地開發的php+mysql程序通過ftp架設到web伺服器,並能通過域名正常訪問網站。

END
步驟/方法
第一步:創建FTP
================================================================
chmod go+rwx /data 《給data分配許可權》
cd /data 《進入data分區》
mkdir web 《建立web目錄》
chmod go+rwx /data/web
cd / 《回到根目錄,個人操作習慣,可跳過這步》
useradd ftpusername -d /data/web/cqwebseo.com 《添加FTP,ftpusername改為你的FTP用戶、cqwebseo.com改為你FTP對就的網站目錄》
passwd cqwebseo 《設置FTP密碼》
echo cqwebseo >> /etc/ftpchroot 《設置FTP用戶只訪問自己網站目錄內的文件,不能訪問其它目錄 。這點很重要》vi /etc/vsftpd/vsftpd.conf 《修改FTP配置文件》
註:按一下i進入到編輯模式,修改完後按一下ESC退出編輯模式,再輸入《:wq》(其作用是保存改修改並退出)《:q!》退出不保存《:q》沒有做過修改用這個退出
idle_session_timeout
data_connection_timeout
找到這兩個,,修改其值大於900,如果不修改這個的話,,FTP鏈接很慢
#xferlog_file
找到這個,刪除# 。。。作用是記錄FTP的日誌
/etc/init.d/vsftpd restart 《重啟FTP後配置文件才會生效》
到此第一步OK 你可用FTP登陸啦!
註:我這配置有這個問題沒解決,登陸報超時,但你耐心的等一會,就會鏈接好,如果有盆友知道解決方法的,請幫解答一下。。。謝謝。。
======================================================================

第三步:配置mysql
==============================================================================
/usr/local/mysql/bin/mysql -uroot -p 《登陸mysql,按一下ENTER然後輸入mysql密碼,默認和萬網root密碼一樣》
use mysql; 《選擇mysql表》
grant all on cqwebseo_db.* to cqwebseo@localhost identified by 'cqwebseomysql'; 《添加一個數據,有所有許可權,cqwebseo_db為資料庫名,cqwebseo為用戶名,cqwebseomysql為密碼》
flush privileges; 《不用解釋吧,真就度娘一下。》
exit; 《這個也不用說吧》
/usr/local/mysql/bin/mysqladmin -uroot -p8y6v8a3c7u shutdown 《停止mysql》
/usr/local/mysql/bin/mysqld_safe 《啟動mysql》
到此。。就Ok。注意。。注意。。。。。分號 分號 分號
/usr/local/mysql/var 《資料庫存放目錄》
================================================================================
第二步:配置httpd.conf
=======================================================================
echo hi! Tis test! /data/web/cqwebseo.com > index.php 《在cwebseo.com裡面建立一個內容為hi!Tis test!的index.php文件》
vi /var/www/conf/httpd.conf 《進入主戰場》
按上下鍵,翻到文檔最後,然後加入下列表代碼(不知道怎麼加進的,看第一步的注意事項)
<VirtualHost *:80>
DocumentRoot /data/web/cqwebseo
DirectoryIndex index.php
ServerAdmin [email protected]
ServerName cqwebseo.com
ServerAlias www.cqwebseo.com
#ErrorLog /data/web/sanmao/log/error.log
#TransferLog /data/web/sanmao/log/access.log
</VirtualHost>
簡單說一下。。。。。。網上有很多這方面的資料
DocumentRoot /data/web/cqwebseo 這個就是網站的決對地址 說白就是你分配給他的FTP地址
DirectoryIndex index.php 這個表示網站默認首頁是index.php
ServerAdmin [email protected] 服務管理員的郵箱
ServerName cqwebseo.com 這個你懂的
ServerAlias www.cqwebseo.com 這個也不需要解釋吧
餘下的兩個被我注釋掉嘍,,,意思是網站的日誌文件存放地
var/www/bin/apachectl restart 重啟apachectl
var/www/bin/apachectl stop 停止apachectl
var/www/bin/apachectl start 啟動apachectl
OK到這里。。第二步就完。。。你能輸入網址。。。看到這個目錄啦。。不過有個前題條件。。這個個域名要解析過來了滴哈。。不然的話。。你就不要輸入域名那兩個。。直接用你服務的IP地址訪問也行的。。。。如果你操作正確啦。。就能看到網頁上出現hi! Tis test!

G. 畢業論文:linux系統的web伺服器架設

LINUX系統中常見的有:CERN、NCSA、Apache三種方式,一般最常用的方法就是用Apache。此種方式特點明顯,配置簡明,具有最大的對系統兼容性,以下是用此方式配置基於Linux的WEB伺服器的全過程。

一. Apache伺服器慨述。

其特徵是顯著的:可以運行於所有計算機平台,自然包括UNIX/LINUX系統;集成代理伺服器和Perl編程腳本;對用戶的訪問會話過程跟蹤;可對伺服器日誌定製;還支持虛擬主機及HTTP認證等等。再配合LINUX系統本身的強大,我們沒理由不選擇Apache。

二. 安裝Apache。

一般說來,所有Linux版本應該包含有此軟體包的安裝,如果你在安裝Linux系統沒有安裝此軟體包,可以從安裝光碟或是http://www.apache.org/網站上找到其安裝文件(注意網上有兩種版本:一種是下載後需重新編譯的源代碼,一種是只需解壓就可使用的可執行文件),然後執行安裝即可。

1. 如果你下載的是可執行文件包如:apache_1.2.4.e.tar.gz(當中的數字視你下載的版本而定,此為舉例),那這就相對簡單,比較適合對Linux編譯不熟悉的初級用戶,只需執行:tar xvzf apache_1.2.3.4.tar.gz即可完成安裝。

2. 如果下載的是源代碼如:apache_1.2.4.rpm,則先用rpm –ivh apache_1.2.4.rpm安裝,然後在src目錄下執行「./configure」;接著執行「make」命令編譯Apache;接著將編譯好的可執行文件復制到/etc/httpd/bin目錄下;再將Apache的配置文件:httpd.conf、access.conf 、srm.conf和mime.types復制到/etc/httpd/conf目錄下,才算完成安裝。

三. 配置Apache,實現WEB服務。

其實,到現在你的Linux已經開始WEB服務了,你要做的只需將Linux系統連入互聯網,然後將主頁存放於「/home/httpd」目錄下即可。但為了讓此WEB伺服器更有效率的工作,我們還需對其作些設置,具體需要配置的其實就是剛才復制的那4個文件。以下對其主要的兩個配置文件httpd.conf和access.conf作些說明:

1. httpd.conf.
此文件是主配置文件,主要用來設置伺服器啟動的基本環境,也就是說它負責安排WEB伺服器怎樣運行。其相關設置參數為:

ServerTypestandalone/inetd:此選項作用就是指定以何種方式運行WEB伺服器。其中standalone參數表示WEB服務進程以一個單獨的守候進程的方式在後台偵聽是否有客戶端的請求,如果有就生成一個子進程來為其服務;其效率更高。主要是設置主伺服器進程偵聽的特定埠地址,方法為:Port[number] (預設為80)。

而inetd模式相對standalone來說它更安全,此模式也是RedHat Linux運行Apache的默認方式。如果你的版本不是RedHat,則需在/etc/inetd.conf文件里加入以下一新行:httpd stream tcp nowait httpd /etc/httpd/bin/httpd –f /etc/httpd/conf/httpd.conf;然後在/etc/services文件里同樣添加一新行:httpd 80/tcp httpd即可。

ErrorLog:用來指定錯誤記錄的文件名稱和路徑。格式如:ErrorLog /var/httpd/error.log。
ServerRoot:用來指定將伺服器的配置及日誌文件存於何處。格式如:ServerRoot /etc/httpd。
Server Admin: 設置WEB管理員的E-Mail地址.格式如:Server [email protected]

2. srm.conf
這是Apache的資源配置文件,作用為告訴伺服器你想在WWW站點上提供的資源及如何提供,其主要參數為:

DocumentRoot: 用來指定主文檔的地址。格式如:DocumentRoot /home/httpd/html。
DirectoryIndex:跟windows平台的IIS設置一樣,用來指定首頁文件的名稱。大家都知道,首頁一般都以「index.html」或「index.htm」作為文件名。當設置為這兩種文件名之後,只要用戶發出WEB請求,即將調入以「index.html」或「index.htm」命名的主頁。格式如:DirecotryIndex index.html index.htm。

經過以上簡單的配置後,你的WEB伺服器已經具備基本的功能了。接下來要做的就是重啟WEB服務,使剛才的配置生效,我們可以用以下命令來完成:

/etc/rc.d/init.d/httpd restart

最後,我們來看看基於Apache服務的安全方面。Apache伺服器通過認證系統能控制哪些主機可以訪問某些特定的站點。具體來說,它通過兩種方式來實現:

一種是基於主機地址的認證,但由於目前大部分上網用戶使用的都是動態地址,因此此種方式並沒多少實際意義;

另一種方式是基於用戶名/口令的認證方式,不言而喻,此種方式更適合如今的網路狀況,而對於具體的用戶名/口令認證實現。

H. ubuntu linux怎麼配置web伺服器

您好√

單純的WEB伺服器如nginx,只需要直接通過apt安裝即可。

apt-getinstallnginx-y

安裝完畢後您需要手動啟動(service nginx start)並且手動配置(修改nginx.conf)。

您也可以使用一些Web控制面板,如Vestacp,AMH等擁有圖形界面(web管理面板)的伺服器管理系統。

也可以使用命令行類的web管理腳本,如lnmp。

由於知道不允許發鏈接,所以上面的還請網路搜索安裝,都有一鍵腳本,很簡單。

I. web伺服器 Nginx

(1)概念

Web伺服器是一台使用HTTP協議與客戶機瀏覽器進行信息交流(因此又稱為HTTP伺服器)、為互聯網客戶提供服務(信息瀏覽,下載資源等)的主機。發展趨勢:從HTML到XML、從有線到無線、從無聲到有聲

1.Linux是架設安全高效Web伺服器的操作系統

架設Web伺服器常見的操作系統:Windows、Linux、Unix。Linux安全性能最高,可以支持多個硬體平台,可以根據不同需求隨意修改、調整與復制各種程序的源碼以及發布在互聯網上,網路功能比較強大。

2.目前主流伺服器:Apache、 Nginx、 IIS

Unix/Linux操作系統下使用最廣泛的免費HTTP伺服器:Apache、Nginx。Windows(NT/2000/2003)操作系統使用ⅡS,綜合使用最多的Web伺服器是 IIs、Apache。

選擇WEB伺服器應考慮的本身特性因素有:性能、安全性、日誌和統計、虛擬主機、代理伺服器、緩沖服務和集成應用程序等。下面介紹目前最主流的三大web伺服器:

① 大型

IIS:

微軟的Internet Information Services (IIS),IIS 允許在互聯網上發布信息,提供了一個圖形界面的管理工具,稱為Internet服務管理器,可用於監視配置和控制Internet服務。IIS是一種Web服務組件,其中包括Web伺服器(網頁瀏覽)、FTP伺服器(文件傳輸)、NNTP伺服器(新聞服務)和SMTP伺服器(郵件傳輸),使得在網路上發布信息很容易。它提供ISAPI(Intranet Server API)作為擴展Web伺服器功能的編程介面,它還提供一個Internet資料庫連接器,可以實現對資料庫的查詢和更新。

Apache:

Apache是世界上用的最多的Web伺服器,源於NCSAhttpd伺服器的補丁(pache 補丁)。它的成功之處主要在於:源代碼開放、有開放的開發隊伍、支持跨平台的應用(可以運行在幾乎所有的Unix、Windows、Linux系統平台上)、可移植性。

② 小型

nginx:

nginx的模塊都是靜態編譯的,對fcgi的支持非常好,在處理鏈接的的方式上nginx支持epoll,支持通用語言介面(如:php、python、perl等),支持正向和反向代理、虛擬主機、url重寫、壓縮傳輸等。

(2)工作原理

當客戶端Web瀏覽器連到伺服器上並請求文件時,伺服器將處理該請求並將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。Web伺服器主要是處理向瀏覽器發送HTML以供瀏覽,而應用程序伺服器提供訪問商業邏輯的途徑以供客戶端應用程序使用。應用程序伺服器可以管理自己的資源,例如看大門的工作(gate-keeping ties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web伺服器一樣,應用程序伺服器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。Web伺服器的工作原理一般可分成如下4個步驟:

① 連接過程:是Web伺服器和其瀏覽器之間所建立起來的一種連接。查看連接過程是否實現,用戶可以找到和打開socket這個虛擬文件,這個文件的建立意味著連接過程這一步驟已經成功建立。

② 請求過程:是Web的瀏覽器運用socket這個文件向其伺服器而提出各種請求。

③ 應答過程:是運用HTTP協議把在請求過程中所提出來的請求傳輸到Web的伺服器,進而實施任務處理,然後運用HTTP協議把任務處理的結果傳輸到Web的瀏覽器,同時在Web的瀏覽器上面展示上述所請求之界面。

④ 關閉連接:是當上一個步驟--應答過程完成以後,Web伺服器和其瀏覽器之間斷開連接之過程。Web伺服器上述4個步驟環環相扣、緊密相聯,邏輯性比較強,可以支持多個進程、多個線程以及多個進程與多個線程相混合的技術。

Web伺服器可以解析HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應(response)。為了處理一個request,Web伺服器可以response一個靜態頁面(HTML頁面)或圖片,進行頁面跳轉(redirect),或把動態響應委託給伺服器端。Web伺服器的代理模型非常簡單。當一個request被送到Web伺服器里來時,它只單純的把request傳遞給可以很好的處理request的程序(伺服器端腳本,如:CGI腳本,JSP腳本,servlets,ASP腳本,伺服器端JavaScript等)。Web伺服器僅僅提供一個可以執行伺服器端程序和返回(程序所產生的)響應的環境,而不會超出職能范圍。伺服器端程序功能通常有:事務處理、資料庫連接、和消息等。雖然Web伺服器不支持事務處理或資料庫連接池,但它可以配置各種策略來實現容錯性、可擴展性(如:負載平衡、緩沖)。集群特徵經常被誤認為僅僅是應用程序伺服器專有的特徵。

(3)配置

如何設置默認文檔;在同一台伺服器上架設多個Web站點;(可以通過改變埠號)創建Web虛擬目錄;

1、了解DNS主機名和IP地址。

如果此WEB伺服器在Internet上,需向ISP申請和注冊此伺服器的DNS主機名和IP地址。如果此伺服器只在企業網內使用,則在內部的DNS伺服器上注冊。

2、打開伺服器文檔,選擇"埠"-"Internet埠",啟用"TCP/ IP埠"。

3、選擇"Internet協議",完成以下選項後,保存文檔。

① 綁定主機名:

A、選擇"是"則您可在"主機名"項中輸入主機別名,WEB用戶可用此別名替代Domino伺服器名訪問WEB伺服器。

B、選擇"否"(預設)則不允許使用別名。

② DNS查詢: 選擇"是"則Domino伺服器查詢發送請求的WEB客戶機的DNS名。

③ Domino日誌文件和資料庫將包含WEB客戶機的DNS主機名: 選擇"否"(預設)則不查詢,Domino日誌文件和資料庫將只包含WEB客戶機的IP地址( 注意:選擇"否"將提高Domino伺服器性能,因為伺服器不使用資源執行DNS查詢

④ "允許HTTP客戶瀏覽資料庫":選擇"是"則允許WEB用戶在URL中使用OpenServer命令來顯示伺服器上資料庫列表。選擇"否"(預設)則不允許。但即使WEB用戶不能看到伺服器上資料庫列表,他們仍能打開有許可權訪問的單個資料庫。

4、啟動HTTP任務。在伺服器控制台上,輸入:loap http

小型項目

(1)概念

1、Nginx(俄羅斯程序設計師Igor Sysoev用C語言進行編寫)是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3/SMTP)代理伺服器。

2、特點:佔有內存少(在高連接並發的情況下,Nginx是Apache伺服器不錯的替代品,能夠支持高達 50,000 個並發連接數的響應),並發能力強。

3、中國大陸使用nginx網站用戶有:網路、京東、新浪、網易、騰訊、淘寶等。

4、Nginx代碼完全用C語言從頭寫成,已經移植到許多體系結構和操作系統,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。

5、Nginx有自己的函數庫,並且除了zlib、PCRE和OpenSSL之外,標准模塊只使用系統C庫函數。而且,如果不需要或者考慮到潛在的授權沖突,可以不使用這些第三方庫。

(2)安裝

官網:http://nginx.org/

選擇要安裝的版本:

(3)使用

打開conf/nginx.conf,修改埠號,和主頁根地址為:打包後index.html的目錄

模擬域名配置(本地域名設置):

在瀏覽器地址欄輸入配置好的「域名:埠號」回車:

J. 安全開發運維必備的Nginx代理Web伺服器性能優化與安全加固配置

為了更好的指導部署與測試藝術升系統nginx網站伺服器高性能同時下安全穩定運行,需要對nginx服務進行調優與加固;

本次進行Nginx服務調優加固主要從以下幾個部分:

本文檔僅供內部使用,禁止外傳,幫助研發人員,運維人員對系統長期穩定的運行提供技術文檔參考。

Nginx是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx作為負載均衡伺服器, Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP代理伺服器對外進行服務。

Nginx版本選擇:

項目結構:



Nginx文檔幫助: http://nginx.org/en/docs/
Nginx首頁地址目錄: /usr/share/nginx/html
Nginx配置文件:



localtion 請求匹配的url實是一個正則表達式:

Nginx 匹配判斷表達式:

例如,匹配末尾為如下後綴的靜態並判斷是否存在該文件, 如不存在則404。



查看可用模塊編譯參數:http://nginx.org/en/docs/configure.html



http_gzip模塊
開啟gzip壓縮輸出(常常是大於1kb的靜態文件),減少網路傳輸;



http_fastcgi_mole模塊
nginx可以用來請求路由到FastCGI伺服器運行應用程序由各種框架和PHP編程語言等。可以開啟FastCGI的緩存功能以及將靜態資源進行剝離,從而提高性能。



keepalive模塊
長連接對性能有很大的影響,通過減少CPU和網路開銷需要開啟或關閉連接;



http_ssl_mole模塊
Nginx開啟支持Https協議的SSL模塊

Linux內核參數部分默認值不適合高並發,Linux內核調優,主要涉及到網路和文件系統、內存等的優化,

下面是我常用的內核調優配置:



文件描述符
文件描述符是操作系統資源,用於表示連接、打開的文件,以及其他信息。NGINX 每個連接可以使用兩個文件描述符。
例如如果NGINX充當代理時,通常一個文件描述符表示客戶端連接,另一個連接到代理伺服器,如果開啟了HTTP 保持連接,這個比例會更低(譯註:為什麼更低呢)。

對於有大量連接服務的系統,下面的設置可能需要調整一下:



精簡模塊:Nginx由於不斷添加新的功能,附帶的模塊也越來越多,建議一般常用的伺服器軟體使用源碼編譯安裝管理;

(1) 減小Nginx編譯後的文件大小



(2) 指定GCC編譯參數
修改GCC編譯參數提高編譯優化級別穩妥起見採用 -O2 這也是大多數軟體編譯推薦的優化級別。

GCC編譯參數優化 [可選項] 總共提供了5級編譯優化級別:



常用編譯參數:



緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用於提高Web應用的性能,調優的時候web應用不需要關掉但值得一提,因為它們的影響可能很重要。

簡單示例:



1) 永久重定向

例如,配置 http 向 https 跳轉 (永久)



nginx配置文件指令優化一覽表



描述:Nginx因為安全配置不合適導致的安全問題,Nginx的默認配置中存在一些安全問題,例如版本號信息泄露、未配置使用SSL協議等。
對Nginx進行安全配置可以有效的防範一些常見安全問題,按照基線標准做好安全配置能夠減少安全事件的發生,保證採用Nginx伺服器系統應用安全運行;

Nginx安全配置項:

溫馨提示: 在修改相應的源代碼文件後需重新編譯。

設置成功後驗證:



應配置非root低許可權用戶來運行nginx服務,設置如下建立Nginx用戶組和用戶,採用user指令指運行用戶

加固方法:



我們應該為提供的站點配置Secure Sockets Layer Protocol (SSL協議),配置其是為了數據傳輸的安全,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密。



不應使用不安全SSLv2、SSLv3協議即以下和存在脆弱性的加密套件(ciphers), 我們應該使用較新的TLS協議也應該優於舊的,並使用安全的加密套件。



HTTP Referrer Spam是垃圾信息發送者用來提高他們正在嘗試推廣的網站的互聯網搜索引擎排名一種技術,如果他們的垃圾信息鏈接顯示在訪問日誌中,並且這些日誌被搜索引擎掃描,則會對網站排名產生不利影響
加固方法:



當惡意攻擊者採用掃描器進行掃描時候利用use-agent判斷是否是常用的工具掃描以及特定的版本,是則返回錯誤或者重定向;



Nginx支持webdav,雖然默認情況下不會編譯。如果使用webdav,則應該在Nginx策略中禁用此規則。
加固方法: dav_methods 應設置為off



當訪問一個特製的URL時,如"../nginx.status",stub_status模塊提供一個簡短的Nginx伺服器狀態摘要,大多數情況下不應啟用此模塊。
加固方法:nginx.conf文件中stub_status不應設置為:on



如果在瀏覽器中出現Nginx自動生成的錯誤消息,默認情況下會包含Nginx的版本號,這些信息可以被攻擊者用來幫助他們發現伺服器的潛在漏洞
加固方法: 關閉"Server"響應頭中輸出的Nginx版本號將server_tokens應設置為:off



client_body_timeout設置請求體(request body)的讀超時時間。僅當在一次readstep中,沒有得到請求體,就會設為超時。超時後Nginx返回HTTP狀態碼408(Request timed out)。
加固方法:nginx.conf文件中client_body_timeout應設置為:10



client_header_timeout設置等待client發送一個請求頭的超時時間(例如:GET / HTTP/1.1)。僅當在一次read中沒有收到請求頭,才會設為超時。超時後Nginx返回HTTP狀態碼408(Request timed out)。

加固方法:nginx.conf文件中client_header_timeout應設置為:10



keepalive_timeout設置與client的keep-alive連接超時時間。伺服器將會在這個時間後關閉連接。

加固方法:nginx.conf文件中keepalive_timeout應設置為:55



send_timeout設置客戶端的響應超時時間。這個設置不會用於整個轉發器,而是在兩次客戶端讀取操作之間。如果在這段時間內,客戶端沒有讀取任何數據,Nginx就會關閉連接。

加固方法:nginx.conf文件中send_timeout應設置為:10



GET和POST是Internet上最常用的方法。Web伺服器方法在RFC 2616中定義禁用不需要實現的可用方法。

加固方法:



limit_zone 配置項限制來自客戶端的同時連接數。通過此模塊可以從一個地址限制分配會話的同時連接數量或特殊情況。

加固方法:nginx.conf文件中limit_zone應設置為:slimits $binary_remote_addr 5m



該配置項控制一個會話同時連接的最大數量,即限制來自單個IP地址的連接數量。

加固方法:nginx.conf 文件中 limit_conn 應設置為: slimits 5



加固方法:





加固方法:



解決辦法:





描述後端獲取Proxy後的真實Client的IP獲取需要安裝--with-http_realip_mole,然後後端程序採用JAVA(request.getAttribute("X-Real-IP"))進行獲取;



描述: 如果要使用geoip地區選擇,我們需要再nginx編譯時加入 --with-http_geoip_mole 編譯參數。



描述: 為了防止外部站點引用我們的靜態資源,我們需要設置那些域名可以訪問我們的靜態資源。



描述: 下面收集了Web服務中常規的安全響應頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進行配置。



描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們伺服器上, 導致伺服器被警告關停,將會對業務或者SEO排名以及企業形象造成影響,我們可以通過如下方式進行防範。

執行結果:



描述: 有時你的網站可能只需要被某一IP或者IP段的地址請求訪問,那麼非白名單中的地址訪問將被阻止訪問, 我們可以如下配置;



常用nginx配置文件解釋:

(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實現這個合並文件的功能。



(2) PHP-FPM的優化
如果您高負載網站使用PHP-FPM管理FastCGI對於PHP-FPM的優化非常重要



(3) 配置Resin on Linux或者Windows為我們可以打開 resin-3.1.9/bin/httpd.sh 在不影響其他代碼的地方加入:-Dhttps.protocols=TLSv1.2, 例如

原文地址: https://blog.weiyigeek.top/2019/9-2-122.html

熱點內容
x3000r存儲卡 發布:2025-03-19 00:12:22 瀏覽:220
ie不顯示腳本錯誤 發布:2025-03-19 00:09:53 瀏覽:957
免費網頁源碼 發布:2025-03-19 00:09:00 瀏覽:261
工業企業資料庫 發布:2025-03-18 23:51:44 瀏覽:94
寶馬車的配置主要看哪些 發布:2025-03-18 23:50:09 瀏覽:484
esxi虛擬存儲 發布:2025-03-18 23:49:59 瀏覽:771
mc自己開伺服器地址 發布:2025-03-18 23:47:10 瀏覽:701
藍凌關聯配置什麼意思 發布:2025-03-18 23:46:16 瀏覽:347
雲存儲vmware 發布:2025-03-18 23:41:51 瀏覽:890
怎麼從配置模式轉到用戶模式 發布:2025-03-18 23:36:07 瀏覽:334