在Linux系统配置Nodejs环境的最简单步骤,部署多个thinkjs(nodejs)项目
发现一台服务器部署管理多个nodejs服务,可以采用二级域名weekly.mwcxs.top,也可以采用固定后缀www.mwcxs.top/weekly的方式,本文先从固定后缀的方式部署管理多个nodejs服务。
以下详细的介绍,以周报企业管理系统为例进行部署,欢迎fork和start,源码地址:https://github.com/saucxs/weekly,展示地址:http://weekly.mwcxs.top有问题一起交流。
1、去官网下载和自己系统匹配的文件:
英文网址:https://nodejs.org/en/download/
中文网址:http://nodejs.cn/download/
建议去英文网站下载 ,因为中文这边没有给出稳定版,目前稳定版8点多。最新版是10点多
2、查看linux系统的位数
通过 uname -a 命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统),如图
选择64位
3、下载下来的tar文件上传到服务器并且解压
我使用的xshell中的rz命令来上传文件
在xshell中输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz命令进行安装。
安装成功后,输入rpm -qa lrzsz 命令确认是否正确安装
输入rz或者re -y,选择刚才下的压缩包
现在开始解压
tar -xvf node-v8.12.0-linux-x64.tar.xz
修改文件夹(目录)的名字
mv node-v8.12.0-linux-x64 nodejs
4、执行软连接
注意:确认一下nodejs下bin目录是否有node 和npm文件,如果有执行软连接,如果没有重新下载执行上边步骤
确认有node和npm文件了
执行软链接
ln -s /home/cxs/install/nodejs/bin/npm /usr/local/bin/
ln -s /home/cxs/install/nodejs/bin/node /usr/local/bin/
发现自己没有权限,然后找老大要来root账号
下面是root权限下执行
ok了,回到自己用户下
ok了
5、安装pm2,通过pm2启动node可以使关闭终端时node依然运行。
进入后端代码的跟目录,通过npm i 安装后端代码需要的库,启动node
pm2 start index.js
说明,没有配制到全局,虽然安装到全局,不知道为啥,linux下不像windows下能自动创造一个环境变量去实现我们的全局。所以我们需要创建一个linux下的软连接。
下面红框就是pm2的安装路径,连接到全局环境路径
下面出现的都是全局环境路径,选哪一个都可以,我选的是红框的全局环境变量/usr/local/bin
建立连接
ln -s /home/cxs/install/nodejs/bin/pm2 /usr/local/bin/
使用pm2 list验证是否成功建立连接
pm2 list
说明pm2全局安装成功,并且可以随处访问pm2,我试试我的账号是不是也可以使用pm2命令
出现这个,说明其他账号也可以全局都可以使用pm2
5、thinkjs项目,使用pm2 start pm2.json 来启动项目
切换到自己的账号上,需要全局变量时候没有权限的时候采用root账号
上传项目代码,使用xshell的rz -y来
执行
pm2 start pm2.json
出现上图应该就算启动起来了
但是我想看一下项目启动之后访问情况,怎么搞,这时候需要祭出nginx
6、nginx使用
已经部署完成,但是公网访问出现问题,出现502,
发现是nginx配置的问题,
方案一:把nginx的实际访问地址172.31.231.103:8362修改为127.0.0.1:8362
upstream weekly_node { server 172.31.231.103:8362; }
方案二:把项目node的启动主机host(127.0.0.1)修改为0.0.0.0
附上完整的nginx服务配置
user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream weekly_node { server 172.31.231.103:8362; } server { listen 80; server_name localhost; charset utf-8; #weekly static location /weekly/ { #root /home/fastdfs/nginx/weekly/dist; alias /home/fastdfs/nginx/weekly/dist/; index index.html index.htm; try_files $uri $uri/ /index.html last; #root html; #index index.html; }
#nodejs服务方向代理 location /weekly_node/ { proxy_pass http://weekly_node; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } }
如若转载,请注明出处:sau交流学习社区-power by saucxs(程新松)(/page/484.html)
标签云
图文推荐
“深度学习”这十年:52篇大神级论文再现AI荣与光,12岁上大学、31岁成最年轻IEEE Fellow,前百度总裁张亚勤加盟清华,全球女性福音!DeepHealth深度学习模型检测乳腺癌完胜5名放射科医师,读博无门,就业碰壁,孤独当了7个月“民科”后,我的论文中了顶会Spotlight
saucxs 2020-01-03 10:04:09
1200 万部手机、500 亿实时位置数据,上帝视角还原特朗普全天行踪,自动驾驶玩漂移 斯坦福最新研究:《头文字D》无人车版来了,印度裔又要统领美国科学界?特朗普提名他领导美国国家科学基金会,GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包
saucxs 2019-12-25 10:08:05
蝉联AI专业全球冠军!清华力压CMU再夺CSRankings高校AI排行王座,波士顿动力CEO:不排斥军方订单,就想你粗暴地对待机器狗,亚马逊Alexa突然发疯,读着论文教主人自杀:你活着地球人口会过剩,图神经网络的ImageNet?斯坦福大学等开源百万量级OGB基准测试数据集
saucxs 2019-12-24 09:57:45
2020 AAAI Fellow名单出炉!深度学习先驱Bengio和LeCun双双入选,李世石最后一战不敌AI“韩豆”!唯一战胜过AlphaGo的男人正式退役,GAN和PS合体会怎样?东京大学图像增强新研究:无需配对图像,增强效果还可解释,2019年最受关注的100项研究,AI“复活”蒙娜丽莎排第一
saucxs 2019-12-23 09:58:10
这家AI公司用面具破解中国人脸识别系统!微信、支付宝、火车站无一幸免,OpenAI公开Dota 2论文:胜率99.4%,「手术」工具连续迁移训练,9岁神童大学毕业前突然退学,转赴美国攻读电气工程博士,Reddit热议:15岁高中生用神经网络建立生命进化“新宇宙”
saucxs 2019-12-17 09:45:30
- 东方财富
- saucxs博客园
- weekly周报
- loveBook
- 前端博客
- 技术交流学习社区
- saucxs
- segmentfault
- saucxs的博客
- haorooms
- luckyscript
- 东方财富期货
- 峰云就她了
- binlive
- songEagle
- 且听风吟
- (TX)Heying Ye
- CG Online Judge
- Chris's Blog
- vueRouter
- 龙恩0707
- 鑫空间,鑫生活
- 木易杨
- MDN-js
- Cherry's Blog
- InterviewMap
- 安安哥的小戏台
- xiaojun1994-cat
- JavaScript-Garden
- junruchen-daily
- 秋天爱美丽
- web-summary-daily
- w3cplus-tb
- 潜行者m
- 于江水
- KieSun-git
- cnodejs
- aerminBlog
- fex_bd
- gwuhaolin-git
- Deboy's Blog
- react-china
- react.docschina
- Vuejs社区
- vuejsDoc
- cdnSocketIo
- shuaihuaCC
- colorize
- stazhu
- 前端学习
- IBM Dev社区
- linux运维笔记
- webpackDoc
- sayskyGithub
- 前端里
- 996.ICU
- electronjs
- CS-Notes
- mqyqingfengBlog
- beego官方
- 编码规范
- 阮一峰个人网站
- sessionstack
- damonareGoUp
- 咀嚼之味
- fe-interview
- xd-tayde/blog
- css-tricks
- ghmagical个人中心
- markyunp6
- hellogithub
- 霜序廿
- rin部落
- 建站素材
- 前端资源网
- CSS开发手册
- web技术交流
- 程新松个人网站
- wangEditor
- 小松博客
- 交流学习社区