樱花聊天室(Node.js 网页项目)
Github:https://github.com/HaruhiYunona/Sakura_Chat_Room
Github下载地址:点击下载
使用方法
该教程内容所有指令都为Linux CentOS 7.x
环境下指令,其他平台请您自行查询(⊙x⊙;)
1.下载node.js并下载Sakura_Chat_Room
node.js安装方法见菜鸟教程
要注意机子是否安装了git
,wget
和tar
,没装的话自己装一下
然后
git clone https://github.com/HaruhiYunona/Sakura_Chat_Room
2.依赖库
express
fs
mysql
socket.io
如果您发现报错缺少或者未找到以上任何一项的话,还请您
npm uninstall 以上缺少项目
npm install 以上缺少项目
这些依赖如果安装完成,会出现在工程根目录下package.json
和node_modules
里
3.配置端口
firewall-cmd --zone=public --add-port=5555/tcp --permanent
如果您想用别的端口也是完全ok的,将5555
换成您想要的端口即可,但是不可以和别的已经被占用的端口相同。websocket需要独占一个端口作为服务器。如果您有面板,可以直接去面板里设置。
4.配置文件
如果您已经解压好/git好Sakura_Chat_Room,就可以修改配置文件了
vi ./config.js
一般而言仅仅在我的项目基础上改动只需要更改这些配置即可
config['name'] = "Sakura聊天室"; //换成您想要的名字
config['hosting'] = "localhost"; //换成您自己服务器的ip
config['port'] = 5555; //换成您刚刚开放的端口
config['port'] = "1234567890123456"; //需要刚好16个字符,可以用16位md5生成器来生成16个随机字符
config['logWrite'] = true; //您看情况配置,true会将log写入到./log.txt,false则不输出log,仅显示于命令行
config['logTime'] = "timeStample"; //设置timeStample,log会输出十位数的时间戳。而dateTime则会输出日期格式的时间
数据库信息您自己填写。(请正确配置数据库信息,否则不能工作)
:wq
即可保存配置文件。
5.导入数据表和运行调试
该项目实例中我为您简单配置了一个Mysql数据表,它位于根目录,名称为user.sql
,您可以通过面板或者以下命令导入数据库
mysql -u 数据库用户名 -p
Enter password:
输入数据库密码后命令行 会变成 mysql>
格式
mysql>use 数据库名
mysql>source ./user.sql
数据表导入以后,执行
node index
运行程序,当shell输出:
[System Info]APP running! Listen to: IP:PORT --TimeStample
这类格式说明您的程序已正常运行。
接下来您访问您的服务器地址(不可以关闭shell命令行)
http://IP:端口
例如:http://110.123.456.789:5555
(憋吐槽这IP,我要写个真IP每个都在255以内回头真给哪个幸运儿的机子弄炸了怎么搞)
为以下界面,即安装成功
是不是可喜可贺?
问题来了,当您关闭shell命令行对话的时候,这个聊天室就会超时未响应
服务器端会话结束时会关闭掉会话中所有任务,我们不可能一直开着命令行,这时候就需要一个托管会话的工具:screen
如果您是第一次使用这个工具,请记得先安装,如下
yum install screen
安装完毕以后(之后不需再安装),使用
screen
指令即可创建一个托管窗口,该窗口可以在您关闭命令行后仍然执行会话。画面闪烁以后可以直接输入Sakura_Chat_Room
的运行指令
node index
当程序提示正在运行以后,您不论怎么关闭shell命令行,都可以正常访问聊天室了。
6.常见问题解决
(1)端口占用
如果运行程序提示您相应端口已经被占用,请您使用指令
netstat -lnp | grep 端口号
查询出相应端口被占用进程的pid,然后
kill -9 进程pid
再运行程序即可
(2)缺少依赖
npm uninstall 缺少项目
npm install 缺少项目
(3)node.js未找到
重新安装一遍,严格执行,结束后
node -v
检查版本号,如果成功输出就代表安装完成。
2021.10.3