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:\Users\asus\Desktop\nginx-rtmp-win32-master\logs</logpath> 
    <log mode="roll-by-size">
        <sizeThreshold>10240</sizeThreshold>   
        <keepFiles>8</keepFiles> 
    </log> 
    <executable>C:\Users\asus\Desktop\nginx-rtmp-win32-master\nginx.exe</executable> 
    <startarguments>-p C:\Users\asus\Desktop\nginx-rtmp-win32-master</startarguments>  <stopexecutable>C:\Users\asus\Desktop\nginx-rtmp-win32-master\nginx.exe</stopexecutable> 
    <stoparguments>-p C:\Users\asus\Desktop\nginx-rtmp-win32-master -s stop</stoparguments>
</service>

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

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

执行命令:nginx-service.exe install

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

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

 

posted @ 2021-02-05 16:46  小y  阅读(1981)  评论(0编辑  收藏  举报