在阿里云的轻量服务器上部署node-express项目,环境是centOS 7.6
2021/6/15 7:27:05
本文主要是介绍在阿里云的轻量服务器上部署node-express项目,环境是centOS 7.6,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在阿里云的轻量服务器上部署node-express项目,环境是centOS 7.6
- 下载Xshell
- 使用Xshell连接远程服务器
- 服务器中部署Nodejs环境
- 安装mongodb
- 安装pm2
- 上传项目
- 启动项目
- 安装配置nginx
- 操作帮助
- 操作帮助1:Xshell配置ctrl+c,ctrl+v
- 操作帮助2:解决pm2 -v报错
- 操作帮助3
首先先讲一下服务器的概念:
服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。--------------来自百度百科
我对服务器理解是一个将跑好的项目放到可以让全世界的人看到并且访问到的地方,这种地方就是云服务器(相当于把你的本地运行的计算机放到网上,唯一不同是这台计算机里的文件只有整个项目需要的文件)。所以,我们需要在云服务器这个地方重新搭建我们需要的依赖环境,才能让项目跑起来。
下载Xshell
要想远程访问使用我们的服务器(远程计算机),我们需要先下载Xshell这款软件。同类型软件还有PuTTY等,之前看到还有人使用secureCRT
1.下载(https://www.netsarang.com/zh/xshell-download/)
Xshell需要付费,不过可以免费试用30天。
如果你是学生,填写页面上(https://www.netsarang.com/zh/free-for-home-school/)相关的信息,会给你的邮箱发送下载邮件,通过邮件中下载链接可以下载到免费为学生和学校使用的xshell,xsftp同样操作即可。
按照步骤安装好即可
使用Xshell连接远程服务器
2.连接
安装好之后,我们进入软件配置
2.1进入软件后,自动弹出一个窗口,在这个窗口点击新建即可
如果没有弹出一个窗口,也可以点击下图所示处,新建会话,一样出项下方窗口
2.2在主机处填写你购买的云服务器的公网ip,填好后不要先点确定。按途中步骤点击左侧树状图中“用户身份验证”,填写信息:
这里如果有人忘记密码,可以去云服务器上改密码,我买的是阿里云的,直接进控制台—轻量级服务器中即可更改,如图
有些没反应的注意双击下左侧的新建会话
2.3 然后点击确定后,就会像上面第一张图显示的,然后点击连接,连接成功如图显示:
有些人如我一样出现的如图的warning,这并不影响使用,但是如果你有强迫症的话可以在重新创建连接,可以在左侧树状图中的“隧道”看到默认将X11转移勾选过的,这里我们直接去掉勾选,然后确定保存。再次登录连接SSH,就不会有这样的问题。
服务器中部署Nodejs环境
参照阿里云中的首页 > 云服务器 ECS > 建站教程 > 搭建环境 > 部署Node.js环境 (CentOS 7)
教程中步骤2操作(linux系统指令大全)
(1)、wget命令下载Node.js安装包。
该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
(如果ctrl+c,ctrl+v不能用,请滑到到文章后方看一些操作帮助)
(2)、解压文件
tar xvf node-v6.9.5-linux-x64.tar.xz
(3)、创建软链接,您就可以在任意目录下直接使用node和npm命令(相当于在本地配置环境变量一样)。
ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm
(4)、查看node.js和npm版本:
node -v npm -v
(5)、软件默认安装在/root/node-v6.9.5-linux-x64/目录下。如果需要将该软件安装到其他目录(如:/opt/node/)下,请进行如下操作:(注意:也要修改软链接)
mkdir -p /opt/node/ mv /root/node-v6.9.5-linux-x64/* /opt/node/ rm -f /usr/local/bin/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -s /opt/node/bin/npm /usr/local/bin/npm
安装mongodb
参考 简书文章:
软件安装位置:/usr/local/mongodb
数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs
(1)、进入 /usr/local/:
cd /usr/local
(2)、安装mongodb:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz
其他版本链接可以去官网查看
(3)、解压安装包,并重命名文件夹为mongodb
tar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb
(4)、创建数据和日志存放目录
mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs
设置开机启动项
打开rc.local文件,添加CentOS开机启动项:
不熟悉linux命令的可以参考:linux系统指令大全
vim /etc/rc.d/rc.local
打开文件后输入‘i’启用编辑。将mongodb启动命令追加到本文件中,让mongodb开机自启动:
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
(3)、解压安装包,并重命名文件夹为mongodb
tar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb
(4)、创建数据和日志存放目录
mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs
(5)、设置开机启动项
打开rc.local文件,添加CentOS开机启动项:
不熟悉linux命令的可以参考:linux系统指令大全
vim /etc/rc.d/rc.local
打开文件后输入‘i’启用编辑(如图)。将mongodb启动命令追加到本文件中,让mongodb开机自启动:
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
按 Esc
退出编辑,输入 :wq
(冒号wq),回车保存并关闭文件。
安装pm2
PM2 是一个带有负载均衡功能的 Node 应用进程管理器。
(1)、通过npm全局安装:
npm install pm2 -g
这个时候使用 pm2 -v 查看版本可能会报错,需要设置一下环境变量
(2)、设置环境变量
使用 vim 命令打开文件 /etc/profile
vim /etc/profile
同样,按‘i’启动编辑,将pm2的路径添加到环境变量中;
PATH=$PATH:/opt/node/lib/node_modules/pm2/bin
保存退出(输入:wq)之后输入:source /etc/profile
刷新配置可以让变量生效。
注意:有些配置好之后由于npm或node版本过低出现如下报错,请看文章后面的操作帮助二
上传项目
上传项目使用的是Xftp
(1)、下载
下载Xftp,如果你是学生,可以通过邮箱接受下载地址,直接下载
(2)、连接服务器
如果已经安装,可以点击Xshell中‘新建文件传输’,直接链接到服务器(前提是Xshell已连接);
手动配置连接和Xshell差不多:
(3)、上传项目目录
参考
我把代码上传到了/home目录文件夹下。
启动项目
(1)、使用pm2启动项目
控制台进入存放代码的目录,和本地操作类似,本地使用node /bin/www 启动项目,这里换成pm2 start /home/xin_blog/app.js ;
项目启动成功后就可以使用 IP:端口 号访问了。IP是你服务器的公网IP,端口号是你代码中设置的监听端口。
去掉node_modules 文件,保留package.json文件上传后命令行进去项目根目录使用npm install安装依赖。
安装配置nginx
(1)、下载
官网下载nginx-1.9.9.tar.gz上传到目录/usr/local/
上传之后注意进入路径
cd /usr/local/
(2)、解压安装
## 解压 tar -zxvf nginx-1.9.9.tar.gz ##进入nginx目录 cd nginx-1.9.9 ## 配置 ./configure --prefix=/usr/local/nginx # make make make install
注意:如果这里有如下报错,请滑到操作帮助3
:make: *** No rule to make target `build', needed by `default'. Stop.
(3)、测试是否安装成功
# cd /usr/local/nginx/ ./sbin/nginx -t
成功的话会显示:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
(4)、启动nginx
cd /usr/local/nginx/sbin ./nginx
5)、配置nginx自启动
vim /etc/rc.d/rc.local
和数据库自启动配置一样
添加下面指令
/usr/local/nginx/sbin/nginx
配置:/usr/local/nginx/conf
下nginx.conf
文件
server { listen 80; server_name www.forestchen.cn; #charset koi8-r; #access_log logs/host.access.log main; location / { root /home/vueblog/dist; index index.html index.htm; proxy_pass http://127.0.0.1:8080; } }
操作帮助
操作帮助1:Xshell配置ctrl+c,ctrl+v
点击工具—>选项—>
选择 键盘和鼠标 选项卡—>点击编辑---->
在设置快捷键之前,需要先查看一下是否已经存在了
点击 查找 直接在键盘上Ctrl+C 看到不存在以后,直接点击是,进行添加
选择 菜单 然后在操作中选择 [编辑]复制 的操作。
之后确定即可。
Ctrl+V的 粘贴操作也是一样的道理
然后一路的保存 退出 就可以在xshell中使用复制粘贴的快捷键了!!!!!
操作帮助2:解决pm2 -v报错
问题原因:由于npm和node的版本太低
只需升级npm版本即可
1、 卸载npm
npm uninstall npm -g
2、安装gcc
yum install gcc gcc-c++
3、自建一个文件夹下载node
mkdir npm cd npm wget https://npm.taobao.org/mirrors/node/v10.14.1/node-v10.14.1-linux-x64.tar.gz
4、解压
tar -xvf node-v10.14.1-linux-x64.tar.gz mv node-v10.14.1-linux-x64 node
5、添加环境变量
vi /etc/profile
在其中添加
export NODE_HOME=/root/npm/node export PATH=$NODE_HOME/bin:$PATH
注意!! NODE_HOME后面的值要添加到自己的node解压的路径
6、刷新配置
source /etc/profile
7、看看自己的版本情况
node -v
npm -v
8、再pm2 -v即可
操作帮助3
在新的服务器安装nginx,在make编译时报错:
make: *** No rule to make target build’, needed by `default’. Stop.
解决:
更新yum
yum update
更新完成后,先删除之前准备make的nginx包,然后重新解压一个。
安装前置库:
[root@cqakserver local]# yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
进入nginx目录重新编译一次参数:
##进入nginx目录 cd nginx-1.9.9 ## 配置 ./configure --prefix=/usr/local/nginx
再次 make && make install
即可成功
采纳文章:
https://blog.csdn.net/chenlinIT/article/details/73343793?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control
https://segmentfault.com/a/1190000004051670
https://www.cnblogs.com/laov/p/3541414.html#chmod
https://www.jianshu.com/p/0496ef49b2a5
https://help.aliyun.com/document_detail/50775.html?spm=5176.product25365.6.715.fD2PQ6%20%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%EF%BC%9A%E9%83%A8%E7%BD%B2Node.js%E9%A1%B9%E7%9B%AE%EF%BC%88CentOS%EF%BC%89#section-tug-p3l-h9l
这篇关于在阿里云的轻量服务器上部署node-express项目,环境是centOS 7.6的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-18uniapp 怎么定义对象属性?-icode9专业技术文章分享
- 2024-11-18克罗内克积是什么?-icode9专业技术文章分享
- 2024-11-18uniapp怎么实现点击防抖和节流功能?-icode9专业技术文章分享
- 2024-11-18uniapp实现全局的监听和接收有哪些方法?-icode9专业技术文章分享
- 2024-11-18TCPDF与mpdf的区别与优势是什么?-icode9专业技术文章分享
- 2024-11-17getExternalFilesDir这个方法哪些安卓版本可以使用?-icode9专业技术文章分享
- 2024-11-17app下载好后,安装包更新代码怎么写?-icode9专业技术文章分享
- 2024-11-17login-customer-id 如何获取?-icode9专业技术文章分享
- 2024-11-17使用 vite加载.env 文件环境变量无法加载是什么原因?-icode9专业技术文章分享
- 2024-11-17tp钱包是什么,有哪些功能?-icode9专业技术文章分享