Popush Deployment Guide - Windows

Popush部署文档 - Windows


By Zhong Yangxin


一. 所需要提前知道的

1.    如何运行cmd与输入命令行

包括如何在任何地方打开cmd(按住shift+鼠标右键 -> 在此处打开命令行)、如何在cmd下运行程序、给程序输入参数与命令(如输入node –v可以查看node js的版本号)

2.    如何添加环境变量(Win 7)

鼠标右键点击“计算机”->“属性”->“高级系统设置”->“环境变量,选择“用户变量”或“系统变量”的PATH项,点击“编辑”就可添加环境变量路径。

二. 部署环境

1.    Win 7

默认Win7下用户任何环境都没有,可以从零开始完成所有的部署。

2.    各语言编译环境

Node.js进入nodejs官网http://www.nodejs.org/并下载安装包,直接安装node即可(作者使用的是0.10.32版本)。注意安装时要勾上“Add to Path”将node添加到环境变量,否则安装后要将node.exe的所在文件夹路径手动添加到环境路径。

MinGW32( gcc/ g++/ gdb/ lua):

       进入mingw32官网http://sourceforge.net/projects/mingw/并下载安装包,点击安装。安装过程中,会弹出窗口让你选择要下载的包,点击“All packets”在窗口中找到MinGWgcc/ g++/ gdb/ lua包,勾上他们的“bin”,此时程序可能会连锁勾上别的包,照装就是。勾好后点击窗口左上角菜单“Installation->Apply Changes”完成安装即可。安装好以上四个编译器后,请找到MinGW32的文件夹的bin文件夹路径,将其手动添加到环境变量路径,重启机器即可生效。

Python: 进入python官网https://www.python.org/并下载安装包完成安装即可。注意,python23两个版本有很大的语法差别,请了解后选择自己喜欢的版本。另外,安装后要手动将python.exe所在的文件夹路径添加到环境路径。添加后可能要重启计算机才能生效。

Perl:进入perl官网http://www.perl.org/并下载合适的安装包,安装包可以选择“ActiveState Perl”或开源的“Strawberry Perl”都可以。安装时记得勾上“Add to Path”,否则要手动将perl.exe所在文件夹路径添加到环境路径(可能需重启机器才能生效)

Ruby: 进入ruby官网https://www.ruby-lang.org/zh_cn/下载安装包,建议下载稳定版的安装包。安装完后请将ruby文件夹的bin文件夹路径,手动添加到环境变量路径(可能需重启机器才能生效)

JDK进入oracle官网http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JDK安装包,安装后请将java.exe的所在文件夹路径(jdk文件夹的bin文件夹),手动添加到环境变量路径(可能需重启机器才能生效)

3.    Nginx

(1)  在官网http://nginx.org/下载压缩包(建议稳定版),解压后双击nginx.exe打开,如果成功,logs文件夹中会出现nginx.pid文件;如果不成功则会出现error.log文件,可阅读错误信息并排除问题。打开后就可在浏览器中通过输入http://localhost/来访问nginx

(2)  常见的问题:nginx默认绑定80端口,但80端口可能已经被占用了。

解决方案一,将conf文件夹的nginx.conf配置文件中第一个listen的参数从80改成其它端口,但之后就必须在浏览器输入http://localhost:xxxx/访问xxxx对应端口来访问nginx

解决方案二,打开cmd,输入“netstat -ano”查看0.0.0.080端口被哪个进程占用,记下pid。打开任务管理器,点击“进程”选项卡后,点击菜单“查看”->“选择列”,勾上“PID”。将刚刚记下的占用80端口的进程结束,或把其开机自启动的服务禁用。如果占用的进程是“System”,就无法简单地结束进程。应当在“控制面板”点击“卸载程序”,点击左方的“打开或关闭Windows功能”,将“Internet信息服务”整个取消勾选以禁用,并重启机器。如果这也没有解决问题,那就有待进一步确认是什么系统服务占用80端口,然后自行搜索禁用它的方法。

4.    MongoDB

(1)  进入mongodb的官网http://www.mongodb.org/下载合适的安装包并安装,建议自选安装路径,选择路径不要太深,且路径中不含空格,这样便于后面的操作。安装后将MongoDB文件夹下的bin文件夹路径添加到环境变量路径中。

(2)   运行MongoDB。假设安装路径是D:/MongoDB/,在此文件夹下新建data文件夹。在cmd中输入“D:\>mongod --dbpath D:/MongoDB/data(如果添加了环境变量,就可以在任意路径运行mongod.exe,否则应在bin文件夹下运行mongod),运行后可在浏览器中访问http://localhost:27017看到基本信息。不成功就根据错误信息调试,如结束占用27017端口的进程等。

(3)  MongoDB添加到Windows服务。这是可选项,如果不希望每次开机都进入cmd输入“D:\>mongod --dbpath D:/MongoDB/data”来运行MongoDB,则先在MongoDB文件夹下新建一个logs文件夹,然后在Windows开始菜单的搜索中搜到cmd.exe,鼠标右键“以管理员身份运行”,如果添加到了环境变量路径,以下步骤可省略,否则在cmd中先将路径转移到“D:\MongoDB\bin(先利用命令“D:”切换到D盘,然后输入命令“cd D:\MongoDB\bin”移动到路径),然后输入“mongod --logpath D:\MongoDB\logs\MongoDB.log --logappend --dbpath D:\MongoDB\data --directoryperdb --serviceName MongoDB --install”向Windows注册一个名为“MongoDB”的服务。

以后每次开机都能自动打开MongoDB。如需手动打开和关闭MongoDB,可以管理员身份打开cmd,然后输入“net start MongoDB”和“net stop MongoDB”来打开或关闭服务。

注意!如果路径名中含有空格,那么在命令行中输入路径作为程序参数时需要使用双引号将路径括起来。

三. 部署popush

配置好以上环境以后,便可开始着手部署popush:

1.     https://github.com/liuq880077/popush上下载popush压缩包并解压。

2.     popush目录下创建如下文件夹:tmpstatic/faceslogbin

3.     解压文件etc/mongojs.zip,并将解压后的mongojs文件夹复制替换popush目录下的node_modules/mongojs文件夹;使用popush目录下node_modules/socket.io/node_modules/socket.io-client/socket.io.js文件替换static/js/lib/socket.io.js文件。

4.     参考popush目录下的lib/nginx.conf,将nginx文件目录的conf文件夹的nginx.conf文件修改,将两处location/root后面跟的参数(路径),修改为popush目录下static文件夹的路径。修改后可将nginx进程结束后重新打开,应当可以在浏览器中通过访问http://localhost/看到popush的页面。

注意!如果路径名中含有空格,那么在root后输入路径作为参数时需要使用双引号将路径括起来。另外,root后面跟的路径名请使用“/”分隔符,而不是“\”。

5.     popush目录下打开cmd,输入“npm install(如果npm不在环境变量中请使用npm.exe的绝对路径运行npm),然后将自动下载和安装popush所需的node packages

6.     完成上述步骤后,在popush目录打开cmd输入“node app.js>log\popush.log”,即可正确地运行popush。这时即可通过http://localhost/访问和使用popush

7.     注意事项。每次开机后要打开popush,需要以下步骤:

1.     确保MongoDB运行中,如果已注册成为Windows服务,应该会自动运行,否则要手动运行,具体如何启动请看MongoDB部分的说明。

2.     双击打开nginx.exe,保证其正确运行,如果没有正确运行则根据错误信息,排除端口占用等问题,详见Nginx部分的说明。

3.     popush目录下打开cmd输入“node app.js>log\popush.log”,然后即可通过http://localhost/正常使用popush

8.     特别注意事项!!Windows下配置好popush后,访问http://localhost/后可能会显示“无法连接到服务器”,但如果以上步骤都正确完成,此属于正常现象,只需要等待大约1分钟左右,便可正常使用popush。如果使用浏览器的开发者工具,就可以看到popush在等待一个包(有一个包在pending),当这个包显示OK,则popush可正常使用。

四. 运行测试

1.     使用popush成功注册和登录后,可以直接新建源文件,也可以从本地上传文件,但注意popush上传文件有不完善之处,不能接受如.java.pl.rb等类型文件,请将上传文件改成txt文件后再上传,然后在popush界面上将文件重命名,修改成原来对应的扩展名。

2.     popush编译各源文件是通过后缀名识别的:C->.cC++->.cppJava->.javaLua->.luaPerl->.plPython->.pyRuby->.rb。具体的Helloworld测试代码可从网上搜索。请特别注意Python2还是3,不同的版本的语法是不同的。

五. 遇到的问题

Windows下配置所可能遇到的所有问题,都已经分布式地写在前文中了,主要的问题是配置各种基础环境时必须注意环境变量要添加好,Nginx要正确打开(解除80端口的占用)MongoDB要正确运行,运行popush前不要忘记node命令。

最大需要注意的问题就是popush页面打开后后,会显示“无法连接到服务器”,必须等待1分钟左右才能正确使用,如果你成功部署好了popush,遇到这个问题千万别以为是自己配置错误。

六. 总结感受

Windows下的部署并不算特别难,只是部署过程中可能会出现各种问题,比如80端口被占用,Nginx配置文件路径错误,popush无法连接到服务器等等。在作者使用的文档中,并没有详细说明各种问题具体怎么解决,都是出了问题后慢慢根据错误信息以及上网搜索解决方案去一点一点排除的。为了记录部署过程中遇到的各种坑点才写下了这篇文档,如果有遇到作者没有说明的问题,应当耐心去解决。

总的来说,部署任何环境会遇到各种问题总是在所难免的,我们要做的就是静心寻找解决方案,不懂时查找资料或请教别人,这次的部署经历将为以后任何环境的部署累积宝贵的经验和打下坚实基础。

 

2014.10.10


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值