开发者社区> 阿逗> 正文

nginx,作为前端的你会多少?

简介: 给我们的静态资源启一个web 服务 给我们的nodejs 的项目设置反向代理,80端口访问 给我们的接口做转发 设置跨域请求 配置https服务的请求接口
+关注继续查看

--现在阅读的你,如果是个FE,相信你不是个纯切图仔。反之,如果是,该进阶了,老铁!

前端的我们,已经不仅仅是做页面,写样式了,我们还需要会做相关的服务器部署。废话不多说,下面就从前端的角度来讲以下nginx的相关使用。

  • 给我们的静态资源启一个web 服务
  • 给我们的nodejs 的项目设置反向代理,80端口访问
  • 给我们的接口做转发
  • 设置跨域请求
  • 配置https服务的请求接口

登录云服务器

首先你得有一台linux服务器(用你电脑起个本地服务也OK,这里不做这个介绍,我们用的是云服务器),如果没有,你可以上相关的云服务实验室开 1、2个小时的服务器玩玩也行,这里推荐 阿里云的 https://edu.aliyun.com/lab/ ,和腾讯云的 https://cloud.tencent.com/developer/labs/gallery 。下面是取阿里云开放实验室的服务器演示:

登录

登录

安装nginx (源码编译安装)

安装nginx 的相关依赖

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

安装依赖

下载nginx包

wget http://nginx.org/download/nginx-1.15.8.tar.gz

nginx bao

解压:

tar -zxvf nginx-1.15.8.tar.gz

安装依赖

编译安装

配置nginx安装选项

./configure --prefix=/usr/local/nginx

安装依赖

编译安装

make && make install

安装依赖

启动、查看进程

/usr/local/nginx/sbin/nginx

ps -ef | grep nginx

安装依赖

查看网页,nginx 启动成功。

安装依赖

补充命令:

/usr/local/nginx/sbin/nginx -t

// 查看nginx 配置文件是否语法正确

/usr/local/nginx/sbin/nginx -s reload
// 重新加载nginx 配置

/usr/local/nginx/sbin/nginx -s stop

// 停止nginx

我们要修改nginx 的基本配置, 做以下步骤:

cd /usr/local/nginx

mkdir vhosts

cd vhosts

vim active.conf

按 esc

再按 :wq 保存并退出

修改nginx.conf

vim /usr/local/nginx/nginx.conf

在倒数第二行添加

include vhosts/*.conf

安装依赖

⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️⬆️

(以上nginx 的安装路径,可以自己自由选择)
注意:下面具体的演示案例,是我个人的服务器,使用的是域名访问, 上面的实验服务器的时长限制,没办法做很多的业务操作。

到这里基本上配置好nginx 的使用和扩展,下面就是我们要利用 nginx 实现一些功能了。

使用nginx

1、给我们的静态资源启一个web 服务

vim /usr/local/nginx/vhosts/active.conf

将server 模块写进去,

server {

      listen 8008;
      server_name localhost;
      root /usr/myfile/dist;
      index index.html;

}

访问:

安装依赖

2、接口转发, 跨域请求

server {

      server_name vue.wtodd.wang;
      charset utf-8;
      location /nodejsapi/ {
          proxy_pass http://localhost:5000/;
      }

}

实际请求 http://localhost:5000/ 的接口,被代理到请求该域名de /nodejsapi/ 下
访问:

安装依赖

安装依赖

3、给我们其他端口启动的nodejs 项目设置反向代理到80端口访问

server {

  listen 80;
  server_name csa.scampus.cn;
  location / {
      proxy_pass http://127.0.0.1:8000;
  }

}

页面访问:
安装依赖

实际项目访问地址:
安装依赖

4、配置https服务的请求接口

这里涉及到了https 证书的配置,这里不牵涉这个话题,这里
https://help.aliyun.com/document_detail/28548.html?spm=a2c4g.11186623.6.556.31ae62aaoYIZQr
是阿里云的免费https 证书,可参照该步骤。
有人说,前端为什么还要https 的服务? 微信小程序的服务接口,需要走https 的哇!我们做demo,不要自己会配置一下吗,省得找后台哇


    server {
            listen       80;
            server_name  api.scampus.cn;
            rewrite ^ https://$http_host$request_uri? permanent;
    }
    server {
            listen 443;
            ssl_certificate /etc/nginx/ssl/alyca.pem;
            ssl_certificate_key /etc/nginx/ssl/alyca.key;
            server_name api.scampus.cn;
            ssl on;
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
            location / {
                    proxy_pass http://localhost:4000/;
            }
    }

访问:原先真实请求地址

安装依赖
配置 https 访问的地址:

安装依赖

总结:

这里nginx 在前端的使用只是很少的一部分,比如做请求拦截、api版本控制等,但这一些应用也是受到前端处理范围的局限,使得我们运用的也不多,相信以后随着“大前端“的发展,我们会更多的使用nginx功能或类nginx 服务功能。

欢迎品阅和指正!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx部署前端vue后端express项目步骤细节
Nginx部署前端vue后端express项目步骤细节
50 0
前端掌握Nginx(二)(下)
本文适合觉对nginx感兴趣的小伙伴阅读
35 0
前端掌握Nginx(二)(上)
本文适合觉对nginx感兴趣的小伙伴阅读
37 0
nginx支持一个端口访问多个前端项目(http以及https)
最近做项目结构优化,前端项目都是部署在nginx上,想实现同一个端口可以访问多个前端项目.
158 0
利用nginx反向代理,解决前端跨域问题
利用nginx反向代理,解决前端跨域问题
111 0
Nginx配置反向代理 java服务和前端服务
最近项目需求是全部要实现https访问,但是我一想这么多服务,一个个的搞成https太费劲了,干脆直接在nginx上做 https 转发到对应的http 服务上去。
70 0
zabbix_4.0部署篇之使用nginx实现web前端
zabbix_4.0部署篇之使用nginx实现web前端
88 0
Nginx开启GZIP压缩,提升前端访问速度
将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度
42 0
如何使用Nginx 部署前端项目,什么是反向代理?
Nginx可以作为静态web服务器来部署静态资源。这里所说的静态资源是指在我们web服务端真实存在,并且能够直接展示的一些文件,比如常见的html页面
551 0
Vue项目打包部署Nginx配置及前端缓存问题解决
Vue项目打包部署Nginx配置及前端缓存问题解决
418 0
+关注
阿逗
前端开发工程师,做pc和h5端界面。现在前端主用框架vue.js,后端主用nodejs(框架express.js)。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载