日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux與Nginx:構(gòu)建高性能的Web服務(wù)器(linux與nginx)

隨著互聯(lián)網(wǎng)的快速發(fā)展,Web服務(wù)器的性能越來越重要。作為一款免費(fèi)的操作系統(tǒng),Linux一直以來都是Web服務(wù)器的首選之一,而Nginx則是一個(gè)高性能的開源Web服務(wù)器軟件,它具有高效的負(fù)載均衡、反向代理和緩存等功能,可以讓W(xué)eb應(yīng)用獲得更高的性能。

本文將介紹如何使用Linux和Nginx搭建一個(gè)高性能的Web服務(wù)器,以便讓讀者了解如何構(gòu)建一個(gè)快速且可靠的Web服務(wù)器。

一、安裝Linux操作系統(tǒng)

要搭建一個(gè)Web服務(wù)器,需要選擇一個(gè)適合的操作系統(tǒng)。目前較為流行的選擇有Ubuntu、CentOS、Debian等。本文以Ubuntu作為我們的操作系統(tǒng)。

在安裝Ubuntu之前,需要先準(zhǔn)備好安裝介質(zhì)并將其插入服務(wù)器中。隨后按照提示進(jìn)行安裝即可。

二、安裝Nginx

在安裝完操作系統(tǒng)后,就可以開始安裝Nginx了。可以按照以下步驟進(jìn)行安裝:

1. 添加Nginx軟件包倉庫

在Ubuntu上,可以通過將Nginx軟件包倉庫添加到apt安裝工具中進(jìn)行安裝。要做到這一點(diǎn),需要在終端執(zhí)行以下命令:

sudo apt-add-repository ppa:nginx/stable

sudo apt-get update

2. 安裝Nginx

在添加完軟件包倉庫后,就可以安裝Nginx了。可以使用以下命令進(jìn)行安裝:

sudo apt-get install nginx

安裝完成后,Nginx服務(wù)將自動(dòng)啟動(dòng)。如果出現(xiàn)問題,則可以使用以下命令查看Nginx是否正在運(yùn)行:

sudo service nginx status

如果Nginx未啟動(dòng),則可以使用以下命令啟動(dòng)它:

sudo service nginx start

而如果想要停止Nginx,則可以使用以下命令:

sudo service nginx stop

三、配置Nginx

安裝Nginx之后,需要對其進(jìn)行配置,以實(shí)現(xiàn)更佳性能??梢园凑找韵虏襟E進(jìn)行配置:

1. 調(diào)整worker_processes值

打開/etc/nginx/nginx.conf文件,并找到worker_processes參數(shù)。將其設(shè)置為服務(wù)器上可用處理器核心數(shù)的兩倍,以獲得更佳性能。

2. 調(diào)整worker_connections值

找到worker_connections參數(shù),并將其設(shè)置為合適的值。根據(jù)Nginx的文檔建議,可以將其設(shè)置為每個(gè)處理器核心1000的連接數(shù),以獲得更佳性能。

3. 啟用gzip壓縮

啟用gzip壓縮可以減少文件傳輸大小,從而提高Web頁面的加載速度??梢园凑找韵屡渲脤zip壓縮功能添加到Nginx中:

gzip on;

gzip_types text/pln text/css application/json application/x-javascript

text/xml application/xml application/xml+rss text/javascript;

四、優(yōu)化文件緩存

Nginx還提供了一個(gè)內(nèi)置的緩存功能,可以將Web頁面緩存在內(nèi)存中,從而提高頁面加載速度??梢耘渲靡韵聟?shù)來優(yōu)化文件緩存:

1. 配置文件緩存路徑

打開/etc/nginx/nginx.conf文件,并找到以下配置項(xiàng):

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:50m inactive=60m;

proxy_cache_key “$scheme$request_method$host$request_uri”;

將levels值設(shè)置為可用內(nèi)存大小的一半,以避免過度緩存。

2. 配置緩存時(shí)間

將inactive值設(shè)置為Web頁面的緩存時(shí)間,以便在此期間內(nèi)使用緩存。

3. 啟用緩存

在要使用緩存的位置塊中添加以下代碼:

proxy_cache_bypass $http_pragma;

proxy_cache_revalidate on;

proxy_cache_min_uses 1;

proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;

五、結(jié)論

使用Linux和Nginx搭建一個(gè)高性能的Web服務(wù)器并不難。只需要按照以上步驟進(jìn)行安裝和配置,就可以快速構(gòu)建一個(gè)快速且可靠的Web服務(wù)器。而由于Linux和Nginx都是免費(fèi)的開源軟件,因此可以通過采用它們來減少Web服務(wù)器的開銷,同時(shí)還可以獲得非常好的性能。

相關(guān)問題拓展閱讀:

  • linux 版怎么配置nginx
  • linux上利用pm2和nginx部署項(xiàng)目

linux 版怎么配置nginx

配置Nginx服務(wù)

Nginx是一款相當(dāng)優(yōu)秀的用于部署動(dòng)態(tài)網(wǎng)站的服務(wù)程序,Nginx最初是為俄羅斯門戶站輪跡旅點(diǎn)而設(shè)計(jì)的網(wǎng)站服務(wù)軟件,作為一款輕量級(jí)的網(wǎng)站服務(wù)軟件,因其穩(wěn)定性和豐富的功能而深受信賴,但最最最被認(rèn)可的是低系統(tǒng)資源、占用內(nèi)存少且并發(fā)能力強(qiáng),目前國內(nèi)如新浪、網(wǎng)易、騰訊等門戶站均在使用,市場占有份額一直保持在15-16%左右(2023年最新數(shù)據(jù))。

Nginx程序的穩(wěn)定性來自于它采用了分階段的資源分配技術(shù),使得CPU與內(nèi)存占用率會(huì)非常低,所以使用Nginx程序部署動(dòng)態(tài)網(wǎng)站環(huán)境不僅十分的穩(wěn)定、高效,而且消耗更少的系統(tǒng)資源,豐富的模塊功能也幾乎與Apache程序數(shù)量相同,現(xiàn)臘凳在已經(jīng)完全的支持了proxy、rewrite、mod_fcgi、州仔ssl、vhosts等常用模塊。而且還支持了熱部署技術(shù),即能夠可以7*24不間斷提供服務(wù),即便運(yùn)行數(shù)月也無須重啟,而且還可以在不暫停服務(wù)的情況下直接對Nginx服務(wù)程序進(jìn)行升級(jí)。

坦白來講,雖然Nginx程序的代碼質(zhì)量非常高,代碼很規(guī)范,技術(shù)成熟,模塊擴(kuò)展也很容易,但Nginx依然存在不少問題,比如Nginx是由俄羅斯人創(chuàng)建的,所以在資料文檔方面還并不完善,中文教材的質(zhì)量更是魚龍混雜,但Nginx近年來增長勢頭迅猛,預(yù)測未來應(yīng)該能夠在輕量級(jí)HTTP服務(wù)器市場有不錯(cuò)的未來。

安裝PCRE(Perl兼容的正則表達(dá)式庫,解壓與編譯過程已省略):

# cd /usr/local/src

# mkdir /usr/local/pcre

# tar xzvf pcre-8.35.tar.gz

# cd pcre-8.35

# ./configure –prefix=/usr/local/pcre

# make

# make install

安裝openssl服務(wù)程序(解壓與編譯過程已省略):

# cd /usr/local/src

# mkdir /usr/local/openssl

# tar xzvf openssl-1.0.1h.tar.gz

# cd openssl-1.0.1h

# ./config –prefix=/usr/local/openssl

# make

# make install

把openssl服務(wù)程序命令目錄添加到環(huán)境變量中(永久生效):

# vim /etc/profile

//將配置文件最下面的參數(shù)追加參數(shù)為:

export PATH=$PATH:/usr/local/mysql/bin:/usr/local/openssl/bin

# source /etc/profile

安裝zlib數(shù)據(jù)壓縮函數(shù)庫(解壓與編譯過程已省略):

# cd /usr/local/src

# mkdir /usr/local/zlib

# tar xzvf zlib-1.2.8.tar.gz

# cd zlib-1.2.8

# ./configure –prefix=/usr/local/zlib

# make

# make install

創(chuàng)建用于執(zhí)行nginx服務(wù)的用戶:

# cd ..

# useradd www -s /in/nologin

安裝nginx服務(wù)程序(openssl,zlib,pcre要寫成源碼解壓路徑!!!):

# tar xzvf nginx-1.6.0.tar.gz

# cd nginx-1.6.0/

# ./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=www –group=www –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-openssl=/usr/local/src/openssl-1.0.1h –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.35

# make

# make install

創(chuàng)建nginx程序腳本(將下面的參數(shù)直接復(fù)制進(jìn)去即可):

# vim /etc/rc.d/init.d/nginx

#!/bin/bash

# nginx – this script starts and stops the nginx daemon

# chkconfig:

# description: Nginx is an HTTP(S) server, HTTP(S) reverse \

# proxy and IMAP/POP3 proxy server

# processname: nginx

# config: /etc/nginx/nginx.conf

# config: /usr/local/nginx/conf/nginx.conf

# pidfile: /usr/local/nginx/logs/nginx.pid

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

&& exit 0

nginx=”/usr/local/nginx/in/nginx”

prog=$(basename $nginx)

NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”

&& . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {

# make required directories

user=`$nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/*–user=\(*\).*/\1/g’ -`

if ; then

useradd -M -s /bin/nologin $user

fi

options=`$nginx -V 2>&1 | grep ‘configure arguments:’`

for opt in $options; do

if ; then

value=`echo $opt | cut -d “=” -f 2`

if ; then

# echo “creating” $value

mkdir -p $value && chown -R $user $value

fi

fi

done

}

start() {

|| exit 5

|| exit 6

make_dirs

echo -n $”Starting $prog: “

daemon $nginx -c $NGINX_CONF_FILE

retval=$?

echo

&& touch $lockfile

return $retval

}

stop() {

echo -n $”Stopping $prog: “

killproc $prog -QUIT

retval=$?

echo

&& rm -f $lockfile

return $retval

}

restart() {

#configtest || return $?

stop

sleep 1

start

}

reload() {

#configtest || return $?

echo -n $”Reloading $prog: “

killproc $nginx -HUP

RETVAL=$?

echo

}

force_reload() {

restart

}

configtest() {

$nginx -t -c $NGINX_CONF_FILE

}

rh_status() {

status $prog

}

rh_status_q() {

rh_status >/dev/null 2>&1

}

case “$1” in

start)

rh_status_q && exit 0

$1

;;

stop)

rh_status_q || exit 0

$1

;;

restart|configtest)

$1

;;

reload)

rh_status_q || exit 7

$1

;;

force-reload)

force_reload

;;

status)

rh_status

;;

condrestart|try-restart)

rh_status_q || exit 0

;;

*)

echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”

exit 2

esac

# chmod 755 /etc/rc.d/init.d/nginx

重啟nginx服務(wù)程序并添加到開機(jī)啟動(dòng)項(xiàng):

# /etc/rc.d/init.d/nginx restart

Restarting nginx (via systemctl):

# chkconfig nginx on

此時(shí)可以通過訪問IP來判斷nginx服務(wù)是否順利運(yùn)行

LNMP(即Linux+Nginx+MYSQL+PHP)是目前非常熱門的動(dòng)態(tài)網(wǎng)站部署架構(gòu),如果你是在搭建這種部署的話可以看下

linux上利用pm2和nginx部署項(xiàng)目

Introduce

在開發(fā)模式的時(shí)候,我們常用 nodemon 和 webpack 熱更新nodejs項(xiàng)目(如express)和前端項(xiàng)目(如vue),但需要部署的時(shí)候我們就不能再用開發(fā)環(huán)境的配置了,姿拆需要改成生產(chǎn)環(huán)境配置。為了使得項(xiàng)目可以穩(wěn)健的運(yùn)行在服務(wù)端,node可以使用nohup啟動(dòng),前端項(xiàng)目握行可以使用nginx代理。

但是段冊嘩為了更加規(guī)范管理,我們應(yīng)該使用pm2來管理node項(xiàng)目。

nohup(不推薦使用)

作用:不掛斷地運(yùn)行命令。

啟動(dòng)后通過 ps -ef 可以查看進(jìn)程和 pid,如果需要停止,輸入

需要特別注意的是,退出遠(yuǎn)程時(shí),要使用 exit 退出,直接關(guān)閉遠(yuǎn)程工具將會(huì)導(dǎo)致后臺(tái)靜默進(jìn)程停止。

盡管nohup是內(nèi)置工具,但萬一服務(wù)拋異常,對外沒有反應(yīng),表現(xiàn)為無端停止服務(wù),對維護(hù)不友好。

pm2(推薦使用)

相比 nohup,pm2 更加合理,推薦使用 pm2 部署。

首先全局安裝 pm2

為了方便,我們可以把 pm2 軟鏈接到系統(tǒng)環(huán)境下(假設(shè) pm2 安裝路徑是/usr/in/nodejs/bin/pm2),

最后在項(xiàng)目中添加 pm2 配置文件, processes.json

其中 name 代表進(jìn)程別名,script 代表需要執(zhí)行的命令,env 是注入到服務(wù)中的變量。

最后修改 package.json 的 start 命令(項(xiàng)目為 express )為

如果需要查看 pm2 狀態(tài),使用

表明通過 pm2 啟動(dòng)項(xiàng)目。

停止或重啟服務(wù)使用

自動(dòng)啟動(dòng)

在實(shí)際情況下,偶爾會(huì)發(fā)生服務(wù)器宕機(jī),可是重啟后pm2應(yīng)用不會(huì)被自動(dòng)啟動(dòng),這時(shí)候我們就需要去保存我們的pm2狀態(tài),然后配置開機(jī)自啟。

執(zhí)行后會(huì)輸出

這表示pm2把當(dāng)前應(yīng)用列表啟動(dòng)信息保存到了磁盤文件上

執(zhí)行后輸出

這表明pm2往系統(tǒng)中寫入了開機(jī)啟動(dòng)任務(wù),開機(jī)是自動(dòng)啟動(dòng)上次pm2保存的應(yīng)用列表

這時(shí)候如果想測試,可以手動(dòng)重啟服務(wù)器試一下,查看一下pm2應(yīng)用任務(wù)是否正確啟動(dòng)

再也不用擔(dān)心重啟后服務(wù)不起了。

nginx

作為一個(gè)高性能的http和反向代理服務(wù),在linux上不免要選用它。

安裝教程

代理教程

對于Web而已,80端口和443端口是十分重要的,原則上需要輸入 才可以瀏覽網(wǎng)頁的,但由于默認(rèn)端口是80,所以‘:80’可以忽略。同理對于https的443端口也一樣。

所以我們常常需要在80端口監(jiān)聽多個(gè)服務(wù),這就必須要用上nginx的代理功能了。用法如下:

常規(guī)配置

代理配置

nginx如果檢測到vue.msg.com的請求,將 轉(zhuǎn)發(fā) 請求到本機(jī)的8080端口,如果檢測到的是react.msg.com請求,也會(huì)將請求 轉(zhuǎn)發(fā) 到8081端口。

同樣的,如果前面用pm2開啟了node項(xiàng)目,而且運(yùn)行在3000端口,并且已經(jīng)做好了域名映射,如(api.msg.com),我們可以同理配置代理

上面就是linux上部署項(xiàng)目的教程(后續(xù)介紹 docker部署 )。

關(guān)于linux與nginx的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


當(dāng)前名稱:Linux與Nginx:構(gòu)建高性能的Web服務(wù)器(linux與nginx)
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/ccdihhd.html