阿里雲部署 5.域名、DNS、nginx

域名

雖然經過ip地址能夠直接訪問你的網站,可是咱們不多看到網站是經過ip地址訪問的,通常網站都會提供域名。域名直觀易記,且在用戶訪問的域名不改變的狀況下,解析的ip地址能夠更改。html

域名申請能夠去萬網購買,國家規定了網站須要備案才能夠訪問,我在阿里雲走的備案流程,在阿里雲APP填寫、上傳相應信息便可,之前的流程須要郵寄幕布什麼的了,如今只須要在線上操做便可。阿里雲的流程走得是比較快的,最終會提交到管局,管局流程就須要等待一陣子了(5~20個工做日)。個人域名從開始備案到備案成功,流程約走了2周。node

DNS

域名須要解析到ip地址,DNS作的就是這個工做。它能夠將易於管理識別的域名轉換爲計算機用於互連通訊的數字IP地址,從而將用戶的訪問路由到相應的網站或應用服務器。linux

一樣,我使用了阿里雲的DNS解析服務。在雲解析DNS域名控制檯-域名解析,點擊添加域名。

再添加解析

具體配置以下
nginx

配置完成後訪問域名就會解析到記錄值所填寫的ip地址了。c++

nginx

雖然域名解析到了ip地址(服務器),可是默認的端口是80(因此請確保服務器的80端口設置了安全組規則,具體能夠參考以前的文章介紹過的方法)。咱們通常服務監聽的端口不是80怎麼辦?其實很簡單,咱們只須要簡單的配置一下nginx就能夠了。
接下介紹一下在阿里雲服務器上安裝和使用nginx。正則表達式

安裝

首先安裝PCRE pcre-devel 和Zlib
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括perl兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,因此須要在linux上安裝 pcre庫,pcre-devel是使用pcre開發的一個二次開發庫。nginx也須要此庫。命令:vim

yum install -y pcre pcre-devel

zlib庫提供了不少種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,因此須要在Centos上安裝zlib庫。後端

yum install -y zlib zlib-devel

安裝GCC和OpenSSL安全

yum install gcc-c++
yum install -y openssl openssl-devel

如今咱們開始安裝nginx,這裏我安裝的是1.14.0版本bash

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

解壓並進入nginx目錄

tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

使用nginx的默認配置

./configure

編譯安裝

make
make install

查找安裝路徑:

[root@iZ8vbfhrv1vsbp44n9fdtoZ ~]# whereis nginx
nginx: /usr/local/nginx

進入sbin目錄,能夠看到有一個可執行文件nginx,直接./執行就OK了。

[root@iZ8vbfhrv1vsbp44n9fdtoZ ~]# cd /usr/local/nginx
[root@iZ8vbfhrv1vsbp44n9fdtoZ nginx]# ls
client_body_temp  fastcgi_temp  logs        sbin       uwsgi_temp
conf              html          proxy_temp  scgi_temp
[root@iZ8vbfhrv1vsbp44n9fdtoZ nginx]# cd sbin
[root@iZ8vbfhrv1vsbp44n9fdtoZ sbin]# ls
nginx
[root@iZ8vbfhrv1vsbp44n9fdtoZ sbin]# ./nginx

配置開機自啓動
在rc.local增長啓動代碼就能夠。增長一行 /usr/local/nginx/sbin/nginx

vi /etc/rc.local

設置執行權限:

chmod 755 rc.local

配置

nginx配置文件修改

vim /usr/local/nginx/conf/nginx.conf

修改原配置文件的部份內容

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   /opt/nodejs/blog-server/static/blog;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

    # proxy to the blog server
    location /blog {
        proxy_pass http://0.0.0.0:3000;
    }
}

這樣訪問80端口根路徑就會請求index.html文件,匹配/blog路徑的請求會被轉發到本地服務器的3000端口上。
配置完畢後,能夠執行命令檢查一下配置是否有錯誤

[root@iZ8vbfhrv1vsbp44n9fdtoZ conf]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

最後重啓一下nignx就能夠了

/usr/local/nginx/sbin/nginx -s reload

此時你訪問域名,就會按照nginx配置請求先後端資源。訪問個人網站(http://www.readingblog.cn/#/b... 試試吧。

相關文章
相關標籤/搜索