ubuntu nodejs服务器搭建

该文详细介绍了如何在腾讯云服务器上安装和配置Node.js、Express、PM2以及MySQL,包括更换npm源以加速下载,设置MySQL远程登录,使用PM2进行进程管理,最后通过Xshell的XFTP或FileZilla将项目部署到服务器并启动。同时,还提供了PM2常用命令和解决MySQL编码问题的方法。
摘要由CSDN通过智能技术生成

这篇文章是我最近搭建node服务器时所找的博文所有的方法,我将它统一起来方便查看,以下是所有有引用到的博文的链接
https://blog.csdn.net/zhangdaiscott/article/details/79639533
https://blog.csdn.net/sherry_chan/article/details/79053886
https://blog.csdn.net/qq_39817332/article/details/90696987
https://blog.csdn.net/feigning/article/details/89300077
https://www.cnblogs.com/i6010/articles/10857543.html

环境:

  • 腾讯云服务器
  • xshell

1. 安装node
进入xshell,输入一下命令

sudo su
cd /usr/local
apt install nodejs
//下载npm
apt install npm
//把npm换成国内源下载速度会变快
npm install -g cnpm --registry=https://registry.npm.taobao.org

2.安装express(有用到这个模块就下载)

cd /root
cnpm install express --save
//安装完后在/root下面会有node-modules文件夹

3.安装pm2(用来开启守护线程,即使关闭了xshell也会继续运行)

cd /root
cnpm install pm2 -g

4.安装Mysql
4.1安装

//安装服务端
apt-get install mysql-server
//安装客户端
apt-get install mysql-client
//安装python开发包
sudo apt-get install libmysqlclient-dev python3-dev
//安装mysqlclient
pip3 install mysqlclient

4.2更改数据库密码
输入以下指令查看数据库账号、密码 ,并记录

sudo cat /etc/mysql/debian.cnf 
//一般用户名都是debian-sys-maint
//密码先复制下来,等会直接粘贴就行

在这里插入图片描述
4.3进入mysql数据库

mysql -u debian-sys-maint -p
//回车后输入密码(刚刚复制的密码,xshell不会显示出来)

4.5修改

use mysql;
//修改密码(修改用户名密码为root)
update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
//更新
update user set plugin="mysql_native_password"; 
flush privileges;
//退出
quit;

4.6配置mysql远程登录

//登录mysql
mysql -u root -p
//接下来授权一个用户可以远程访问(username、password换成上一部设置的用户名和密码)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
//更新
FLUSH PRIVILEGES;

4.7更改mysql配置文件

vi /etc/mysql/mysql.conf.d/mysqld.cnf
//注释掉bind-address = 127.0.0.1

在这里插入图片描述
4.8重启mysql数据库

sudo service mysql restart

5.将项目发送到服务器

使用xshell自带的xftp或filezilla,将项目发送到**/root**目录下,如果没有权限就先发送到/home/ubuntu下然后用

cp -r /home/ubuntu/“项目文件名” /root

6.开启守护线程发布项目

cd "项目文件名"
pm2 start index.js					//nodejs启动文件

7.开启端口号
加入腾讯云的控制台,找到你的服务器,加入,找安全组,添加端口

3306:mysql
22:ssh连接
//还有你项目监听的端口

至此文件便启动成功了,在自己的电脑上输入服务器的ip地址以及项目设置的端口号便可看到网页。

补充:
1.pm2的用法

npm install pm2 -g     # 命令行安装 pm2 
pm2 start app.js -i 4 #后台运行pm2,启动4个app.js 
                                # 也可以把'max' 参数传递给 start
                                # 正确的进程数目依赖于Cpu的核心数目
pm2 start app.js --name my-api # 命名进程
pm2 list               # 显示所有进程状态
pm2 monit              # 监视所有进程
pm2 logs               #  显示所有进程日志
pm2 stop all           # 停止所有进程
pm2 restart all        # 重启所有进程
pm2 reload all         # 0秒停机重载进程 (用于 NETWORKED 进程)
pm2 stop 0             # 停止指定的进程
pm2 restart 0          # 重启指定的进程
pm2 startup            # 产生 init 脚本 保持进程活着
pm2 web                # 运行健壮的 computer API endpoint
pm2 delete 0           # 杀死指定的进程
pm2 delete all         # 杀死全部进程

2.mysql编码问题
首先登陆mysql的交互shell,输入下面的命令查看当前数据库的编码方式
show variables like '%character%';
在这里插入图片描述
从上面可以看出,mysql数据库装上之后初始并不均是utf8
退出刚才的交互shell,去修改下面的配置文件

输入下面的命令,打开第一个配置文件

sudo vim /etc/mysql/conf.d/mysql.cnf

在 [mysql] 标签的下一行添加下面的配置

default-character-set=utf8

输入下面的命令,打开第二个配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

找到 [mysqld] 标签,在其下一行添加下面的配置

character-set-server=utf8

配置文件修改成功之后,输入下面的命令重启mysql服务

sudo service mysql restart

重启之后再去查看数据库的默认编码方式

show variables like '%character%';

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值