zoukankan      html  css  js  c++  java
  • windows下nodejs前端网站搭建及nginx部署

    假设你已经用nodejs开发了一个前端网站,Vue.js框架Whatever,本文教你如何部署到服务端。

    第一步:编译项目

    一般的nodejs项目结构如下:

    先用npm编译nodejs项目,进入nodejs项目文件夹运行命令:

    npm run build

    会生成dist文件夹,这就是我们打包后所需要的项目文件,放到服务器上。

    但此文件是不能双击打开的,需要部署到一个web服务器中,如iis,nginx等,下面介绍以nginx的部署方式。

    第二步:安装nginx

    以Windows服务器为例,下载Nginx:http://nginx.org/en/download.html

    解压之后只需要修改config/nginx.conf,修改如下图:

    启动nginx。命令窗口cd进入nginx安装目录,输入start nginx启动nginx。

    现在通过浏览器访问http://127.0.0.1:8088/访问。你在nginx里配的什么端口就是什么端口。

    但是这个窗口不能关闭,一旦关闭网站就无法访问了。

    这样就完了吗,肯定不行,每个程序员都应该有洁癖,就看不得服务器上有个黑色窗口在那里杵着。万一关了呢网站不就挂了。

    第三步:将Nginx部署成服务

    window系统的服务是没有界面的,而且支持开机自启动,安全稳定。

    nginx官方没有发布win服务版,可能就没想过让你在window中用,呵呵。

    这里需要用到一个小工具Windows Service Wrapper(winsw.exe),其实自己也可以写一个就是包装nginx.exe程序,启动的时候设置为后台运行即可。

    下载地址:https://github.com/winsw/winsw

    下载完成之后将其放到nginx的安装目录,并改名为nginx-service.exe

    创建配置文件nginx-service.xml(名字要和工具的名字一样)


    nginx-service.xml内容如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <service>
        <id>nginx-rtmp-win32-master</id> 
        <name>Nginx Service</name> 
        <description>High Performance Nginx Service</description>  <logpath>C:UsersasusDesktop
    ginx-rtmp-win32-masterlogs</logpath> 
        <log mode="roll-by-size">
            <sizeThreshold>10240</sizeThreshold>   
            <keepFiles>8</keepFiles> 
        </log> 
        <executable>C:UsersasusDesktop
    ginx-rtmp-win32-master
    ginx.exe</executable> 
        <startarguments>-p C:UsersasusDesktop
    ginx-rtmp-win32-master</startarguments>  <stopexecutable>C:UsersasusDesktop
    ginx-rtmp-win32-master
    ginx.exe</stopexecutable> 
        <stoparguments>-p C:UsersasusDesktop
    ginx-rtmp-win32-master -s stop</stoparguments>
    </service>

    注意把其中的地址都改成你的nginx.exe解压地址。

    接下来以管理员管理员管理员(重要的事情说三遍)的身份打开cmd,切换到nginx安装目录下

    执行命令:nginx-service.exe install

    恭喜你,服务已经安装成功了,打开服务管理器,设置为自动方式,并启动服务即可。

    至此,没用nginx窗口,你的网站依然可以打开,而且是开机自动启动的。

  • 相关阅读:
    [iOS Animation]-CALayer 图像IO
    weblogic集群
    mysql相关函数及用法
    mysql导出导入数据库
    java多线程实现复制功能并统计进度
    java多线程模拟实现12306售票
    Oracle中的常用数据类型
    jdbc连接mysql和oracle数据库-java
    将字符串插入到光标指定位置-js
    二维数组模拟实现酒店管理系统-java
  • 原文地址:https://www.cnblogs.com/tuyile006/p/14378642.html
Copyright © 2011-2022 走看看