zoukankan      html  css  js  c++  java
  • 源码安装H2O Http 服务端程序到Ubuntu服务器

    首先安装全家桶

    apt install -y build-essential zlib1g-dev libpcre3 libpcre3-dev unzip cmake libncurses5-dev libpam0g-dev bison libboost-dev libssl-dev openssl g++ libxml2-dev libcurl3-openssl-dev libpng-dev libfreetype6-dev libfreetype6-dev

    这个包有时候会安装失败

    apt install -y  libpng12-dev

    添加账户:

    groupadd www
    useradd -s/sbin/nologin -M -g www www

    下载安装包:

    curl https://github.com/h2o/h2o/archive/v2.2.2.tar.gz -o v2.2.2.tar.gz

    解压:

     tar zxf v2.2.2.tar.gz

    配置安装目录:

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/h2o -DWITH_BUNDLED_SSL=on

    编译安装:

    make -j8

    make install

    配置文件:

    vim /home/etc/h2o.cf

      1 access-log: /tmp/h2o.log
      2 error-log: /tmp/h2o.err
      3 pid-file: /tmp/h2o.pid
      4 max-connections: 512
      5 file.send-gzip: ON
      6 tcp-fastopen: 3
      7 user: www
      8 file.index: [ 'index.php', 'index.html' ]
      9 file.mime.addtypes:
     10 text/html: .html .htm .shtml
     11 text/css: .css
     12 text/xml: .xml
     13 image/gif: .gif
     14 image/jpeg: .jpeg .jpg
     15 application/javascript: .js
     16 application/atom+xml: .atom
     17 application/rss+xml: .rss
     18 
     19 text/mathml: .mml
     20 text/plain: .txt
     21 text/vnd.sun.j2me.app-descriptor: .jad
     22 text/vnd.wap.wml: .wml
     23 text/x-component: .htc
     24 
     25 image/png: .png
     26 image/tiff: .tif .tiff
     27 image/vnd.wap.wbmp: .wbmp
     28 image/x-icon: .ico
     29 image/x-jng: .jng
     30 image/x-ms-bmp: .bmp
     31 image/svg+xml: .svg .svgz
     32 image/webp: .webp
     33 
     34 application/font-woff: .woff
     35 application/java-archive: .jar .war .ear
     36 application/json: .json
     37 application/mac-binhex40: .hqx
     38 application/msword: .doc
     39 application/pdf: .pdf
     40 application/postscript: .ps .eps .ai
     41 application/rtf: .rtf
     42 application/vnd.apple.mpegurl: .m3u8
     43 application/vnd.ms-excel: .xls
     44 application/vnd.ms-fontobject: .eot
     45 application/vnd.ms-powerpoint: .ppt
     46 application/vnd.wap.wmlc: .wmlc
     47 application/vnd.google-earth.kml+xml: .kml
     48 application/vnd.google-earth.kmz: .kmz
     49 application/x-7z-compressed: .7z
     50 application/x-cocoa: .cco
     51 application/x-java-archive-diff: .jardiff
     52 application/x-java-jnlp-file: .jnlp
     53 application/x-makeself: .run
     54 application/x-perl: .pl .pm
     55 application/x-pilot: .prc .pdb
     56 application/x-rar-compressed: .rar
     57 application/x-redhat-package-manager: .rpm
     58 application/x-sea: .sea
     59 application/x-shockwave-flash: .swf
     60 application/x-stuffit: .sit
     61 application/x-tcl: .tcl .tk
     62 application/x-x509-ca-cert: .der .pem .crt
     63 application/x-xpinstall: .xpi
     64 application/xhtml+xml: .xhtml
     65 application/xspf+xml: .xspf
     66 application/zip: .zip
     67 
     68 application/octet-stream: .bin .exe .dll
     69 application/octet-stream: .deb
     70 application/octet-stream: .dmg
     71 application/octet-stream: .iso .img
     72 application/octet-stream: .msi .msp .msm
     73 
     74 application/vnd.openxmlformats-officedocument.wordprocessingml.document: .docx
     75 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: .xlsx
     76 application/vnd.openxmlformats-officedocument.presentationml.presentation: .pptx
     77 
     78 audio/midi: .mid .midi .kar
     79 audio/mpeg: .mp3
     80 audio/ogg: .ogg
     81 audio/x-m4a: .m4a
     82 audio/x-realaudio: .ra
     83 
     84 video/3gpp: .3gpp .3gp
     85 video/mp2t: .ts
     86 video/mp4: .mp4
     87 video/mpeg: .mpeg .mpg
     88 video/quicktime: .mov
     89 video/webm: .webm
     90 video/x-flv: .flv
     91 video/x-m4v: .m4v
     92 video/x-mng: .mng
     93 video/x-ms-asf: .asx .asf
     94 video/x-ms-wmv: .wmv
     95 video/x-msvideo: .avi
     96 
     97 hosts:
     98 "域名:端口":
     99 #header.add: "strict-transport-security: max-age=39420000; includesubdomains; preload"
    100 header.add: "X-Frame-Options: SAMEORIGIN"
    101 header.add: "X-Content-Type-Options: nosniff"
    102 header.add: "X-XSS-Protection: 1; mode=block"
    103 listen:
    104 port: 端口
    105 #ssl:
    106 #certificate-file: /home/wwwroot/ssl/miraisann.com.crt
    107 #key-file: /home/wwwroot/ssl/miraisann.com.key
    108 #dh-file: /home/wwwroot/ssl/dhparam4096.pem
    109 #minimum-version: TLSv1.1
    110 #cipher-preference: server
    111 #cipher-suite: CHACHA20 EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4
    112 paths:
    113 /:
    114 file.dir: /home/wwwroot/domain/xx.com
    115 redirect:
    116 url: /index.php/
    117 internal: YES
    118 status: 307
    119 file.custom-handler:
    120 extension: .php
    121 fastcgi.connect:
    122 port: /tmp/php-fpm.sock
    123 type: unix

     配置服务:

    vim /usr/lib/systemd/system/h2o.service

     1 [Unit]
     2 Description=h2o optimized HTTP server
     3 After=network.target remote-fs.target nss-lookup.target
     4 
     5 [Service]
     6 PIDFile=/tmp/h2o.pid
     7 ExecStart=/usr/local/bin/h2o/bin/h2o -c /home/etc/h2o.cf &
     8 ExecReload=/usr/bin/kill -HUP $MAINPID
     9 LimitNOFILE=infinity
    10 
    11 [Install]
    12 WantedBy=multi-user.target

    systemctl enable h2o
    systemctl start h2o
    systemctl status h2o

    关于服务配置的细节:

    http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

    "随笔"类型下的内容为原创,转载请注明来源. http://www.cnblogs.com/DragonStart/
  • 相关阅读:
    LeetCode Single Number
    Leetcode Populating Next Right Pointers in Each Node
    LeetCode Permutations
    Leetcode Sum Root to Leaf Numbers
    LeetCode Candy
    LeetCode Sort List
    LeetCode Remove Duplicates from Sorted List II
    LeetCode Remove Duplicates from Sorted List
    spring MVC HandlerInterceptorAdapter
    yum
  • 原文地址:https://www.cnblogs.com/DragonStart/p/7128389.html
Copyright © 2011-2022 走看看