最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx+SSL+Node.js運(yùn)行環(huán)境配置教程

 更新時(shí)間:2014年09月24日 10:20:00   投稿:junjie  
這篇文章主要介紹了Nginx+SSL+Node.js運(yùn)行環(huán)境配置教程,本文用反向代理的方式代理基于Node.js的Web應(yīng)用,需要的朋友可以參考下

Nginx是一款高性能的HTTP服務(wù)器,同時(shí)也是一款高效的反向代理服務(wù)器。不像傳統(tǒng)的服務(wù)器,Nginx是基于事件驅(qū)動(dòng)的異步架構(gòu),內(nèi)存占用少但是性能很好。如果你的Web應(yīng)用是基于Node.js的,那么建議你考慮使用Nginx來做反向代理,因?yàn)镹ginx可以非常高效地提供靜態(tài)文件服務(wù)。本文的主要內(nèi)容是在不同的操作系統(tǒng)下配置Nginx和SSL,并且搭建一個(gè)Node.js運(yùn)行環(huán)境。

安裝Nginx

假設(shè)你已經(jīng)在服務(wù)器上安裝了Node.js,下面我們來安裝Nginx。

在Mac系統(tǒng)上安裝Nginx

利用chown命令來獲取訪問/usr/local文件夾的權(quán)限,命令代碼如下:

復(fù)制代碼 代碼如下:

sudo chown -R ‘username here' /usr/local

接下來的兩行命令就可以安裝Nginx了:
復(fù)制代碼 代碼如下:

brew link pcre
brew install nginx

Nginx安裝完畢后,你可以用下面的命令來啟動(dòng)Nginx
復(fù)制代碼 代碼如下:

sudo nginx

最后你可以在目錄/usr/local/etc/nginx/nginx.conf下看到Nginx的配置文件。

在Ubuntu上安裝Nginx

如果你使用Ubuntu,那么可以用以下方式安裝Nginx:

復(fù)制代碼 代碼如下:

sudo apt-get update
sudo apt-get install nginx

Nginx安裝完成后便可自動(dòng)啟動(dòng)。

在Windows下安裝Nginx

windows版本的nginx可以在這里下載,接下來將安裝包解壓放到指定目錄下,在cmd命令工具下運(yùn)行以下代碼:

復(fù)制代碼 代碼如下:

unzip nginx-1.3.13.zip
cd nginx-1.3.13
start nginx

同樣,start nginx命令會(huì)讓nginx啟動(dòng)完成。

現(xiàn)在我們已經(jīng)安裝完Ngnix,接下來該配置服務(wù)器了。

配置Node.js服務(wù)器

首先我們來創(chuàng)建一個(gè)簡單的Node.js服務(wù)器,你可以在這里下載Express版本的Node.js。下載源代碼后,將其解壓至demoApp文件夾下,并且輸入以下命令讓服務(wù)器在3000端口上啟動(dòng)。

復(fù)制代碼 代碼如下:

npm install
node bin/www
1
<h2 id=”configuring-nginx”>Configuring Nginx</h2>
<p>Now let's open up Nginx config file. As I am on Mac, I can just use nano to start editing the file:</p>
1
nano /usr/local/etc/nginx/nginx.conf

如果需要,你也可以直接到文件夾下用你最喜歡的文本編輯器打開config文件,你可以在文件中找到server 配置節(jié)點(diǎn),類似下面的代碼:
復(fù)制代碼 代碼如下:

server {
listen       8080;
server_name  localhost;
….
more config goes here
}

接下來我們將對(duì)server 節(jié)點(diǎn)作一些符合自己需求的配置,我們需要把網(wǎng)站中的靜態(tài)文件請(qǐng)求交給Nginx處理,其他的文件請(qǐng)求則交給Node.js后端服務(wù)器。我們將用下面的代碼替換上面的server 配置節(jié)點(diǎn):
復(fù)制代碼 代碼如下:

server {
listen       8080;
server_name  localhost;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /public {
root /usr/local/var/www;
}
}

這樣我們就讓Nginx在http://localhost:8080. 上監(jiān)聽了。location / 配置節(jié)點(diǎn)將告訴Nginx接收任意的請(qǐng)求,location 配置節(jié)點(diǎn)中我們用proxy_pass 指定了Node.js的后端服務(wù)器為http://localhost:3000 。

現(xiàn)在我們要用另外一個(gè)配置節(jié)點(diǎn)location /public 來告訴Nginx處理靜態(tài)文件請(qǐng)求,其中內(nèi)部的location 節(jié)點(diǎn)設(shè)置了根目錄為/usr/local/var/www. 當(dāng)然你也可以換成其他的目錄。如此一來,當(dāng)有類似這樣的請(qǐng)求http://localhost:8080/public/somepath/file.html ,Nginx都會(huì)從/usr/local/var/www/public/somepath/file.html讀取靜態(tài)文件。

修改完配置文件后,你需要用下面的代碼來重啟Nginx:

Mac:

復(fù)制代碼 代碼如下:

sudo nginx -s stop && sudo nginx

Ubuntu:
復(fù)制代碼 代碼如下:

sudo service nginx restart

或者
復(fù)制代碼 代碼如下:

sudo /etc/init.d/nginx restart

Windows:
復(fù)制代碼 代碼如下:

nginx -s reload

接下來我們來用Nginx來代替Node.js提供CSS樣式文件,Node.js模板用的是/public/stylesheets/style.css 下面的文件。在/usr/local/var/www/public/stylesheets 文件夾下創(chuàng)建一個(gè)名為style.css 的文件,Nginx將會(huì)正確地解析到它。比如你可以在CSS文件中寫入以下代碼:
復(fù)制代碼 代碼如下:

body {
padding: 50px;
font: 14px “Lucida Grande”, Helvetica, Arial, sans-serif;
}
a {
color: #00B7FF;
}

然后你可以登錄到http://localhost:8080 下來看自己的web應(yīng)用,你會(huì)發(fā)現(xiàn)盡管是訪問Nginx服務(wù)器,但是請(qǐng)求都是通過真實(shí)的Node.js后端服務(wù)器處理的,只有CSS靜態(tài)文件由Nginx處理。

創(chuàng)建SSL

網(wǎng)站產(chǎn)品做多了,你會(huì)發(fā)現(xiàn)需要?jiǎng)?chuàng)建SSL來保護(hù)敏感的信息??赡苣愕谝环磻?yīng)會(huì)想到從證書頒發(fā)機(jī)構(gòu)申請(qǐng)網(wǎng)站證書,但是你也可以創(chuàng)建簽名證書。唯一的問題就是瀏覽器端會(huì)提示“該證書不可信”的警告信息,但是作為本地測(cè)試,這也就足夠了。這里有一篇教程講解了如何自己創(chuàng)建簽名SSL證書,可以看看。

當(dāng)你有了自己的證書,你就可以在Nginx上安裝SSL了,修改后的配置文件,代碼如下:

復(fù)制代碼 代碼如下:

server {
listen       8080;
listen       443 ssl;
server_name  localhost;
ssl_certificate  /etc/nginx/ssl/server.crt
ssl_certificate_key /etc/nginx/ssl/server.key
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /public {
root /usr/local/var/www;
}
}

完成了!這樣當(dāng)你訪問https://localhost:8080 的時(shí)候SSL就可以開始工作了。這里我們默認(rèn)將證書保存在/etc/nginx/ssl/server.crt 目錄下。將私鑰保存在/etc/nginx/ssl/server.key 目錄下,你也可以改變保存的目錄。

總結(jié)

本文中我們學(xué)到了如何用Nginx為Node.js做反向代理,并且配置SSL。由Nginx在前端處理靜態(tài)文件請(qǐng)求,這可以為Node.js后端服務(wù)器大大減輕壓力。自己嘗試一下吧,有什么問題可以在評(píng)論中交流。

相關(guān)文章

  • Nginx實(shí)現(xiàn)高并發(fā)的項(xiàng)目實(shí)踐

    Nginx實(shí)現(xiàn)高并發(fā)的項(xiàng)目實(shí)踐

    本文主要介紹了Nginx實(shí)現(xiàn)高并發(fā)的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享

    在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享

    這篇文章主要介紹了在Nginx服務(wù)器上屏蔽IP的一些基本配置方法分享,包括對(duì)過多訪問的IP配置腳本屏蔽等一些小技巧,的朋友可以參考下
    2015-12-12
  • Nginx 動(dòng)態(tài)域名解析過程詳解

    Nginx 動(dòng)態(tài)域名解析過程詳解

    這篇文章主要為大家介紹了Nginx 動(dòng)態(tài)域名解析過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • nginx 偽靜態(tài)Rewrite正則資源匯總

    nginx 偽靜態(tài)Rewrite正則資源匯總

    本文給大家匯總介紹了nginx中使用rewrite偽靜態(tài)正則表達(dá)式的資源,非常的全面詳細(xì),有需要的小伙伴可以參考下
    2016-08-08
  • Linux下安裝配置nginx詳解

    Linux下安裝配置nginx詳解

    本篇文章主要介紹了Linux下安裝配置nginx,介紹了在Linux系統(tǒng)下安裝配置Nginx的詳細(xì)過程,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-01-01
  • Forever+nginx部署Node站點(diǎn)的方法示例

    Forever+nginx部署Node站點(diǎn)的方法示例

    這篇文章主要介紹了Forever+nginx部署Node站點(diǎn)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • tomcat在nginx中的配置方式

    tomcat在nginx中的配置方式

    文章介紹了如何在Linux系統(tǒng)上安裝和配置Tomcat,并通過Nginx進(jìn)行代理,首先,下載并解壓Tomcat壓縮包,然后啟動(dòng)Tomcat并查看日志,接著,配置Nginx以代理Tomcat的8080端口,并確保80端口已開放,最后,重新加載Nginx配置并測(cè)試代理是否成功
    2024-12-12
  • Nginx為靜態(tài)資源配置緩存時(shí)間的操作步驟

    Nginx為靜態(tài)資源配置緩存時(shí)間的操作步驟

    最近在優(yōu)化網(wǎng)站性能時(shí),發(fā)現(xiàn)很多靜態(tài)資源(比如圖片、CSS?文件等)每次都會(huì)從服務(wù)器重新加載,這不僅浪費(fèi)了帶寬,還增加了 服務(wù)器的負(fù)載,為了解決這個(gè)問題,我研究了一下如何在?Nginx?中為靜態(tài)資源配置緩存時(shí)間,下面是我的配置過程,需要的朋友可以參考下
    2025-02-02
  • 升級(jí)nginx支持HTTP/2服務(wù)端推送的方法

    升級(jí)nginx支持HTTP/2服務(wù)端推送的方法

    這篇文章主要介紹了升級(jí)nginx支持HTTP/2服務(wù)端推送的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Nginx+RTMP+nginx-http-flv-module環(huán)境搭建

    Nginx+RTMP+nginx-http-flv-module環(huán)境搭建

    本文主要介紹了Nginx+RTMP+nginx-http-flv-module環(huán)境搭建,搭建方式可用于直播、視頻會(huì)議等場(chǎng)景,同時(shí)支持HTTP-FLV,方便在瀏覽器中進(jìn)行播放
    2024-03-03

最新評(píng)論

南丰县| 鹤峰县| 衡东县| 云和县| 托克托县| 和林格尔县| 尚义县| 汝州市| 南华县| 灵丘县| 邵东县| 韩城市| 新余市| 闽侯县| 枣庄市| 额尔古纳市| 岐山县| 南靖县| 赤城县| 西盟| 玉田县| 罗源县| 永登县| 乐都县| 上杭县| 乌拉特中旗| 尚义县| 古交市| 海盐县| 双流县| 水富县| 北票市| 蛟河市| 铜川市| 静宁县| 关岭| 锡林郭勒盟| 洪雅县| 那曲县| 平顶山市| 阳原县|