HTTP静态资源服务器搭建

时间:2024-03-05 13:12:47

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