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

域名

虽然通过ip地址可以直接访问你的网站,但是我们很少看到网站是通过ip地址访问的,一般网站都会提供域名。域名直观易记,且在用户访问的域名不改变的情况下,解析的ip地址可以更改。

域名申请可以去万网购买,国家规定了网站需要备案才可以访问,我在阿里云走的备案流程,在阿里云APP填写、上传相应信息即可,以前的流程需要邮寄幕布什么的了,现在只需要在线上操作即可。阿里云的流程走得是比较快的,最终会提交到管局,管局流程就需要等待一阵子了(5~20个工作日)。我的域名从开始备案到备案成功,流程约走了2周。

DNS

域名需要解析到ip地址,DNS做的就是这个工作。它可以将易于管理识别的域名转换为计算机用于互连通信的数字IP地址,从而将用户的访问路由到相应的网站或应用服务器。

同样,我使用了阿里云的DNS解析服务。在云解析DNS域名控制台-域名解析,点击添加域名。 再添加解析 具体配置如下

配置完成后访问域名就会解析到记录值所填写的ip地址了。

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也需要此库。命令:

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版本

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...) 试试吧。

原文链接:segmentfault.com

上一篇:防抖和节流的实现、区别与应用场景
下一篇:前端经典布局:Sticky footer 布局-----flex布局方式

相关推荐

  • (立下flag)每日10道前端面试题-15 关于【高级技巧】十问

    (/public/upload/4dc64bf14f4bd714fcd87e98b6a10373) 第一问:安全类型检测——typeof和instanceof 区别以及缺陷,以及解决方案 这两...

    1 个月前
  • (独家!)webpack 5 changelog 全文翻译

    ★ webpack 团队于北京时间 10 月 12 日凌晨发布了 版本,本文译自 。此部分主要面向非插件开发的 webpack 使用者。 ” 简要说明 此版本重点关注以下内容: ...

    8 个月前
  • 项目部署阶段nginx

    创建环境变量, 创建.env.production 改一下输出地址,vue.confifig.jsoutputDir: 'dist/bestpractice',构建: npm run bui...

    2 个月前
  • 项目中引入特殊字体【小程序、h5】包括canvas画图

    请看清楚我虚线下面所有的话。 横线上的废话随便你看不看。 说实话这个字体已经把我折腾的死去活来了一段时间,而且我们项目还经常要画分享图去刷朋友圈,默认字体没办法达到设计的那种效果,查了不少资料,也自己...

    1 年前
  • 面试题:nginx有配置过吗?反向代理知道吗?

    这篇文章主要是针对跨域进行配置,如果大佬们会配置的话,就不用看了~简述反向代理和正向代理反向代理: 我们将请求发送到服务器,然后服务器对我们的请求进行转发,我们只需要和代理服务器进行通信就好,偷个图:...

    24 天前
  • 面试题3:ES5、ES6两种方式实现继承

    写一个类Person,拥有属性age和name,拥有方法say(something)再写一个类Superman,继承Person,拥有自己的属性power,拥有自己的方法fly(height) ...

    18 天前
  • 面试必备!webpack 中那些最易混淆的 5 个知识点

    前两天为了优化公司的代码打包项目,恶补了很多 webpack4 的知识。要是放在几年前让我学习 webpack 我肯定是拒绝的,之前看过 webpack 的旧文档,比我们内部项目的文档还要简陋。

    1 年前
  • 零基础-5小时开发一个electron应用-[实践]

    (一、背景 "一、背景")一、背景 (三、技能升级 "三、技能升级")三、技能升级 ​ 明明可以用颜值取胜,非要靠才华?不对,明明可以用代码搞定,非要搞设计?步入正题,正好最近对electro...

    2 年前
  • 阿里云服务器(centos)配置nginx及node环境部署

    1. 远程登录服务器 FTP客户端工具选择FileZilla 使用教程: 2. 配置nginx 使用阿里云服务器自带包管理器yum image.png(https://img.j...

    7 个月前
  • 防止对HTML5的浏览器历史popstate滚动

    Alex Malet de Carteret(https://stackoverflow.com/users/1415096/alexmaletdecarteret)提出了一个问题:Prevent b...

    2 年前

官方社区

扫码加入 JavaScript 社区