--现在阅读的你,如果是个FE,相信你不是个纯切图仔。反之,如果是,该进阶了,老铁!
前端的我们,已经不仅仅是做页面,写样式了,我们还需要会做相关的服务器部署。废话不多说,下面就从前端的角度来讲以下nginx的相关使用。
  • 给我们的静态资源启一个web 服务
  • 给我们的nodejs 的项目设置反向代理,80端口访问
  • 给我们的接口做转发
  • 设置跨域请求
  • 配置https服务的请求接口

一、登录云服务器

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

登录服务器:

二、安装nginx (源码编译安装)

1、安装nginx 的相关依赖

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

2. 下载nginx包

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

解压:
tar -zxvf nginx-1.15.8.tar.gz

3.编译安装

3.1、 配置nginx安装选项

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

3.2、编译安装

make && make install

3.3、启动、查看进程

/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 服务功能。
欢迎品阅和指正!

转载于:https://www.cnblogs.com/adouwt/p/10596496.html

nginx,作为前端的你会多少?相关推荐

  1. Nginx做前端代理时缓存与否的性能差别

    Nginx做前端代理,后端两台apache upstream webservers {------------------定义在http段server 172.16.20.31 ;server 172 ...

  2. Jenkins+Github+Nginx实现前端项目自动部署

    Jenkins+Github+Nginx实现前端项目自动部署 前言 最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自 ...

  3. Nginx解决前端调用后端接口跨域问题

    Nginx解决前端调用后端接口跨域问题 参考文章: (1)Nginx解决前端调用后端接口跨域问题 (2)https://www.cnblogs.com/wangymd/p/11200746.html ...

  4. 前端网页发布到nginx_通过nginx部署前端代码实现前后端分离

    实现前后端分离,可以让前后端独立开发.独立部署.独立单测,双方通过JSON进行数据交互. 对于前端开发人员来说,不用每次调试都需要启动或配置Java/Tomcat运行环境:对于后端开发人员来说 ,也不 ...

  5. nginx配置前端网站

    原文链接:nginx配置前端网站 0.前言 上面一篇文章中,简单介绍了windows下下载安装nginx.这篇文章继续介绍下nginx下配置前端网站等. 1.配置文件 nginx的配置文件在下面的目录 ...

  6. 如何用Nginx解决前端跨域问题?

    如何用Nginx解决前端跨域问题? 参考文章: (1)如何用Nginx解决前端跨域问题? (2)https://www.cnblogs.com/lovesong/p/10269793.html 备忘一 ...

  7. win10 nginx部署前端项目(静态资源服务器和HTML)

    win10 nginx部署前端项目(静态资源服务器和HTML) niginx的安装和启停操作参照博客:https://blog.csdn.net/qq_26666947/article/details ...

  8. nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面

    nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面 location / {expires 1h;root /home/test/vue/dist/;index index.h ...

  9. 踩坑:云服务器Nginx部署前端遇到http与https问题

    问题:nginx部署前端项目,修改配置文件路径后,页面一直无法加载css.js.img 解决:看了一堆博客都没有解决,最后是发现https访问的css.js等资源导致. 解决方案1::如果没理解错的话 ...

最新文章

  1. iptables相关管理命令
  2. centos普通用户修改文件权限_centos修改文件及文件夹权限
  3. 一键下载,双击上传,带你探索提升工作效率的秘密“武器”
  4. erlang精要(5)-列表推导式
  5. python中set集合如何决定是否重复?
  6. dojo/request模块整体架构解析
  7. css动画(transition/transform/animation)
  8. 积分和人民币比率_通过比率路由到旧版和现代应用程序–通过Spring Cloud的Netflix Zuul...
  9. DLL中资源切换的两种方法
  10. [ZOJ3213] Beautiful Meadow
  11. Delphi 2010 新增功能之: 手势编程[5] - 关于自定义手势
  12. Python人脸识别考勤打卡系统
  13. 基于Spring+Struts2+Hibernate开发易买网商城系统
  14. 初学python100例-案例10 python兔子生兔子 多种不同解法 青少年python编程 少儿编程案例讲解
  15. matlab简单几何图形的识别代码,MATLAB识别几何图形
  16. python运算符重载、并且编写复数类的加减乘除_编程基础篇:定义一个复数类Complex,重载运算符“+,-,*,/”,使之能用于复数的加减乘除.....出现的问题及代码...
  17. 拼音检索VS五笔检索---Javascript实现
  18. tensorflow官网
  19. 如何在UNIX系统下操作软盘
  20. ARFoundation之路-人脸检测增强之二

热门文章

  1. devexpress 高分辨率显示问题_144Hz高刷+曲屏超2k 蚂蚁电竞显示器ANT271QC 小白到专业电竞跳板...
  2. 把字母排序ASC表c语言,c语言ASCII码排序
  3. ffmpeg拉流设置暂停_ffmpeg+SDL2实现的视频播放器「退出、暂停、播放」
  4. 中职计算机基础课教学策略研究,计算机-研究教学方法中职学校计算机基础课程教学策略的论文开题报告-优度********网...
  5. 基于机器视觉的洋葱霜霉病症状自动检测
  6. AI辅助构建知识图谱:关系抽取
  7. c语言计算器程序代码 链栈,【C语言】简易科学计算器源代码(链栈应用)(原创).doc...
  8. 高斯过程回归python_scikit-learn中的多输出高斯过程回归
  9. mysql connector 是什么_mysql的connector/J,和JDBC是啥关系?有啥区别?
  10. keil spi 调试_单片机软件出问题了?有经验的工程师这么调试