首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转服务器---运行环境搭建

玩转服务器---运行环境搭建

作者头像
创译科技
发布2019-06-02 21:10:57
2.7K0
发布2019-06-02 21:10:57
举报
文章被收录于专栏:Node开发Node开发

前面两篇文章,讲到了云服务的选购,以及域名的注册备案,那么我们项目上线的准备工作其实已经完成一半了。下一步其实就是在服务器上搭建我们的运行环境了。每个人的项目可能运行在不一样的环境,所以在这里我不准备一一介绍,我在这里以我的环境作为示例,我的个人博客后端服务器采用Node.js + MongoDB,所以环境搭建:Node.js + pm2 + MongoDB,前端我采用了Angular框架,因为前后端端口不一致,发起请求会跨域,所以我安装了nginx服务器,将前端项目打包后放在nginx80端口,每次前端发起请求请求MongoDB数据库的数据, 就通过nginx反向代理,代理到4001端口,去取到服务端的数据,然后返还给前端进行页面的渲染。

搭建完环境我们如何进行管理呢,总不能在云服务器耶搭建一个开发环境进行项目启动吧?在讲云服务器的选购的时候我其实有讲到过,我们可以下载putty,进行登录云服务器,通过服务器公网ip,用户名,密码进行登录。putty下载地址:链接:https://pan.baidu.com/s/1ui5oTXH5g8nylwVSmVmGCg 提取码:8c2x

通过putty登录到服务器之后,可以进行运行环境的安装。安装完成之后,下一步如何上传我们的代码呢?我们可以使用FileZilla来进行将代码上传到云服务器

代码上传到服务器以后,就是启动服务了,了解过Node.js的同学都知道,Node.js中通过node xxx.js启动服务,如果直接通过node app来启动,如果报错了可能直接停止整个进程运行,所以,我们服务端不可能这样去做,所以我们刚才说到的pm2就起到了作用。PM2node进程管理工具,可以利用它来简化很多node应用管理的繁琐任务,如性能监控、自动重启、负载均衡等,而且使用非常简单。我们可以下载xshell进行服务进程的监控。

到这里,我们就大概知道我们环境配置需要什么了,在我们本地电脑我们需要安装putty,FileZilla,XShell三个软件,用于进入云服务器操作,上传代码,启动服务。在云服务器我们需要安装Node.jsMongoDB, pm2, nginx,既然知道具体需要配置的环境,接下来就是开始环境的正式搭建了。

1.安装Node.js

首先,在putty中连接上云服务器

第二步,使用命令行下载Node.js到服务器,我这里以10.6.0版本进行演示,使用wget https://npm.taobao.org/

mirrors/node/v10.6.0/node-v10.6.0-l

inux-x64.tar.xz进行下载Node.js安装包.

我们可以看到命令行提示:

Saving 提示:‘node-v10.6.0-linux-x64.tar.xz

’,这就表示我们在linux服务器下载Node.js压缩包成功。

第三步,解压安装包,使用tar -xvf + Node.js压缩包名称可以进行解压,在这里输入tar -xvf node-v10.6.0-linux-x64.tar.xz,开始解压压缩包

默认进入服务器是在root文件夹,解压成功后我们可以把安装包移到其他文件夹,然后需要进行最后一步:设置软连接。很多同学可能都在windows环境下装过各类环境,也知道环境变量如何去设置,但是其实linux设置软连接会比windows系统还来的简单。linux一般把执行路径重定向到usr/sbin中,在linux系统设置软连接,其实只需要一条命令就完成了:ln -s Node.js安装文件夹/bin/node /usr/sbin/node, 比如我将Node.js安装在usr/local文件夹,那我设置软连接的命令就是:ln -s usr/local/node-v10.6.0-linux-x64/bin/node /usr/sbin/node,就可以设置Node.js软连接了。

设置完node软连接,我们还需要设置npm软连接,同理我们设置npm软连接的命令为:ln -s usr/local/node-v10.6.0-linux-x64/bin/npm /usr/sbin/npm.

设置完成软连接我们可以进行测试软连接是否成功设置。

如果和图中一样出现图中的版本号,那就代表Node.js环境到这里安装成功了。

2.安装pm2

在之前的一篇文章我有介绍过npmnpm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。最好的地方是npm代码库不仅供Node.js使用,也可以让前端工程师使用。所有的前端JavaScript库都以npm包的形式存在。许多前端工具如Webpack都是用Node.js编写的。

我们在服务器需要一个node进程管理工具,pm2是一个非常棒的工具。接下来我们需要使用npm全局安装pm2,命令:npm install -g pm2-g其实就表示全局安装,如果你只想在某个项目中安装pm2,进入读音项目根目录,将命令改成:npm install --save-dev pm2,--save-dev就代表在当前项目安装pm2.

安装pm2完成,下一步一样,是设置pm2的软连接,ln -s usr/local/node-v10.6.0-linux-x64/bin/pm2 /usr/local/bin.

设置完成pm2的软连接,我们可以测试pm2是否正常使用。

我们可以看到pm2已经可以正常使用。我们可以通过pm2 list查看我们目前运行的node进程的状态。关于pm2具体如何使用在这里我不做具体解释,过几天我会单独写一篇文章讲解这几些工具的具体使用。

3.安装MongoDB

定位到usr/local,我准备将MongoDB安装到该文件夹

下载MongoDB压缩包

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.

4.tgz

解压压缩包

tar -zxvf mongodb-linux-x86_64-3.6.4.tgz

编辑环境变量

vim ../../etc/profile

编辑成功环境变量,切换到mongoDB安装目录下的bin目录,

cd /usr/local/mongodb/mongodb-linux-x86_64-3.6.4/bin

新建mongodb.conf文件

启动MongoDB:

使用命令:./mongod -f mongodb.conf启动MongoDB.

4.安装nginx

(1)gcc环境安装

安装nginx需要将官网下载的源码进行编译,由于nginx是c语言开发,所以依赖于gcc环境。

命令:yum install gcc-c++

(2)PCRE pcre-devel安装

PCRE是一个Perl库。nginx http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:yum install -y pcre pcre-devel

(3)zlib安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 可以使用 zlib http 包的内容进行 gzip压缩 ,所以需要在 Centos 上安装 zlib 库。命令:yum install -y zlib zlib-devel

(4)openSSL安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

(5)nginx安装

进入usr/local,我们将nginx安装在该目录下,nginx一般有开发板和稳定版两个版本,可以自行选择其中之一进行安装。

下载nginx压缩包

wget http://nginx.org/download/nginx-1.1.10.tar.gz

解压压缩包

tar -zxvf nginx-1.1.10.tar.gz

进入nginx安装目录

cd nginx-1.1.10

对nginx源码进行编译

#./configure

#make

#make install

到这里nginx就安装成功了,nginx一般安装完会放在/usr/share,进入nginx文件夹,启动nginx,命令:./nginx

看到这两条进程状态,就代表启动nginx成功了。然后,在本地浏览器访问http://服务器公网ip,就可以出现nginx欢迎界面。

由于我已经将我的博客项目放到nginx80端口,所以访问服务器ip就可以直接进入我的博客首页。到这里说明nginx成功安装了。

到这里关于服务器环境配置全部完成,下一步就是将代码同步到服务器了,然后启动服务看运行效果。下一篇讲如何使用FileZilla上传代码到服务器以及如何使用Xshell进行node进程服务的管理。本篇内容到这里就结束了,如果对你有帮助请帮我将文章推荐给更多的人,感谢你的观看!

System.out.println("点个赞吧!"); console.log("点个赞吧!"); print("点个赞吧!"); printf("点个赞吧!\n"); cout << "点个赞吧!" << endl; Console.WriteLine("点个赞吧!"); Response.Write("点个赞吧!"); alert("点个赞吧!") echo "点个赞吧!"

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿周先森 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档