HTTP静态资源服务器搭建

1.搭建服务器原因

前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。

核心思想是前端html页面通过ajax调用后端的restuful api接口并使用json数据进行交互。

在互联网架构中:

Web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。

应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。

一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。

2.web服务器搭建几种方式

2.1 使用http-server搭建(node.js-npm):需指定外网

  安装node.js指令:yum install -y nodejs

  安装http-server指令:npm install -g http-server

  将http-server添加到全局变量:ln -s /usr/local/node/bin/http-server /usr/local/bin/http-server

  在项目根目录执行:http-server -a 192.168.211.129 -p 8000

  退出(关闭)服务:Ctrl+C

2.2 使用static-server搭建(node.js-npm):无需指定外网

  安装static-server指令:npm install -g static-server

  在项目目录下指定该项目的入口文件:static-server -i index.html -p 8000

  退出(关闭)服务:Ctrl+C

2.3 使用python搭建

  安装python3.6:

    wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0a1.tar.xz  (获取源码压缩包)

    xz -d Python-3.6.0a1.tar.xz  (解压xz)

    tar -xvf  Python-3.6.0a1.tar  (解压tar)

    cd Python-3.6.0a1

    ./configure --prefix=/usr/local/python  (配置编译)

    make  (编译源码)

    make install  (安装)

  启动静态web服务器(项目的根目录为执行命令):python -m http.server 8000

  退出(关闭)服务:Ctrl+C

  注*****:python3以后,/usr/local/python/lib/python3.6/下BaseHTTPServer.py, SimpleHTTPServer.py, CGIHTTPServer.py没有了,而是合闭到了 /usr/local/python/lib/python3.6/http/server.py文件里,因此不能使用命令[python -m SimpleHTTPServer 8000]启动。

2.4 使用Ruby搭建

  安装Ruby:

    wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz  (获取压缩源码)

    tar -zvxf ruby-2.4.1.tar.gz  (解压源码)

    cd ruby-2.4.1

    ./configure --prefix=/usr/local/ruby  (配置编译)

    make  (编译)

    make install  (安装)

  启动服务(项目根路径下):ruby -run -e httpd . -p 8000

  退出(关闭)服务:Ctrl+C

2.5 使用Nginx搭建*(推荐)

  安装依赖:

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

  安装Nginx:

    wget http://nginx.org/download/nginx-1.13.7.tar.gz  (获取压缩源码)

    tar -zxvf nginx-1.13.7.tar.gz  (解压源码)

    cd  nginx-1.13.7

    ./configure  --prefix=/usr/local/nginx  (配置编译)

    make  (编译)

    make install  (安装)

  将nginx添加到全局变量:ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

  配置nginx.conf文件:

    cd /usr/local/nginx/conf

    vim nginx.conf

  • user root    # <--- #user nobody;
  •       ...
  •       server {
  •         listen 8000;
  •         server_name localhost;
  •         location / {
  •           root E:\Work\Workspace;
  •           index index.html index.htm;
  •         }
  •         502 503 504 /50x.html;
  •         location = /50x.html {
  •           root html;
  •         }
  •       }

  nginx服务指令:

    启动:nginx

    重启:nginx -s reload

    停止:nginx -s stop

3.模拟json应用服务器搭建

3.1 使用json-server搭建(基于node--npm环境)

  安装json-server环境:npm install -g json-server

  创建JSON数据文件:data.json  (/home/当前用户/)

  添加数据:

  •   {
  •     "posts": [
  •       { "id": 1, "title": "json-server", "author": "typicode" }
  •     ],
  •     "comments": [
  •        { "id": 1, "body": "some comment", "postId": 1 },
  •        { "id": 2, "body": "some comment", "postId": 1 }
  •     ],
  •     "profile": { "name": "typicode" }
  •   }

  启动服务(data.json目录下): 

    json-server --watch data.json --static ./LayUIDemo --port 8000 --host 192.168.211.129

    json-server --watch data.json --port 8000 --host 192.168.211.129(推荐)

  注:--watch:是否启动监听(默认启动,布尔值)

    --static:指定静态文件路径 (用于配置web服务器,一般不指定,web服务器使用nginx搭建)

    --port:指定访问端口号(默认3000)

    --host:指定访问ip地址(默认localhost)

    其他指令使用:json-server --help  或者  json-server -h

  退出(停止)服务:Ctrl+C

原文地址:https://www.cnblogs.com/pascall/p/9661627.html

时间: 2024-09-28 21:48:35

HTTP静态资源服务器搭建的相关文章

使用node搭建静态资源服务器(2)

在上一篇使用node搭建静态资源服务器(1)中,我们已经实现了基本的功能,下面继续实现进阶功能. 静态资源的压缩 //compress.js module.exports = (rs,req,res) => { const acceptEncoding = req.headers['accept-encoding']; if(!acceptEncoding || !acceptEncoding.match(/\b(gzip|defalte)\b/)) { return rs; }else if(

Nginx——静态资源服务器(一)

java web的项目中,我们经常将项目部署到Tomcat或者jetty上,可以通过Tomcat或者jetty启动的服务来访问静态资源.但是随着Nginx的普及,用Nginx来作为静态资源服务器,似乎有着更高的性能.接下来的Nginx--静态资源服务器系列随笔,我想探讨以下几个问题: Nginx作为静态资源服务器,有什么优势? Nginx如何和tomcat结合起来使用? Nginx如何搭建CDN? 等等 静态资源是指非服务器运行动态生成的文件,主要包括浏览器端渲染(html.css.js).图片

【学习Koa】原生koa2 静态资源服务器例子

实现思路 首先读取当前路径下所有的文件和文件夹 当去点击某个列表项时判断其实文件还是文件夹,文件的话直接读取,文件夹则再次利用上一个步骤读取并展示 文件结构 代码 index.js 入口文件 const Koa = require('koa') const path = require('path') const getContent = require('./util/content') const mimes = require('./util/mimes') const app = new

静态资源服务器功能

/** * 静态服务器功能:核心模块HTTP * 初步实现服务器功能 */ const http = require('http'); //创建服务器实例对象 let server = http.createServer(); //绑定请求事件 server.on('request',(req,res) => { res.end('hello'); }); //监听端口 访问地址:localhost:3000 server.listen(3000); //====================

web站点优化之使用tengine搭建静态资源服务器和静态资源合并加载案例剖析

在一个项目还是单体架构的时候,所有的js,css,image都会在一个web网站上,看起来并没有什么问题,比如下面这样: 但是当web网站流量起来的时候,这个单体架构必须要进行横向扩展,而在原来的架构中静态资源这羊毛是出在单体架构这头羊身上,所以横向多少 个单体,就有多少个静态资源文件夹,比如下面这样的架构. 那这种架构有什么问题呢? 总的来说会有如下二个问题: 1.   浏览器对单一域名的请求有并发限制. 在同一个域名下,一般来说有js,css,img,media,html等等静态资源,如果资

nginx搭建静态资源服务器遇到403 Forbidden

1.在nginx中配置静态服务器 server { listen 91; server_name localhost; location / { root /root/software/qingfeng; index index.html; } } 这是我放静态资源的/root/software/qingfeng目录(注意:我这放在/root目录下) 我启动nginx时访问   ip地址:91时,访问不了,报403 Forbidden错误 2.我又从新在nginx中配置静态服务器 server

linux使用Nginx搭建静态资源服务器

最近公司需要做一个宣传片播放  视频有点大 好几百M 就想到使用Nginx来代理静态资源,在过程中出现了一些问题,比如端口没开.访问是403等,没有成功,后面慢慢查找问题,才发现大部分博客资料的都不全,所以在这里记录一下. 安装过程本文就不提了 网上都有很多 本文主要说明 nginx.conf 的配置 如下: 进入编辑nginx.conf 文件 输入密码 配置nginx.conf 上传文件到配置的路径 在网页地址栏输入对应的地址 如果出现 nginx静态资源文件无法访问,403 forbidde

图片等静态资源服务器的设计和应用

最近网站需要上传一些图片,于是考虑做一个专门管理静态资源的服务: 归纳的实现有几点: 1,使用jsonp或http跨域上传(文件流传输): 2,本地上传并服务器之间同步: 3,本地上传,做目录映射(IIS?) 后来看到阿里云的OSS,小手一抖便注册使用了,只需要上传就可以访问了,不需要额外部署应用服务器,有java sdk,于是乎...(未完待续) 相关链接: http://www.aliyun.com/ http://free.aliyun.com/?tracelog=ECSmokuai#OS

nginx静态资源服务器简单配置

有时候我们可以把服务器的一些文件放在固定目录以便下载,比如image,css,js等.就可以使用nginx转发静态资源. 参考链接:https://blog.csdn.net/name_is_wl/article/details/52958472 原文地址:https://www.cnblogs.com/2YSP/p/9262539.html