建议不熟悉 linux 命令的小伙伴同时打开我的另一篇博客linux 常用操作
0.0.0.0/0
,其他默认就可以了。暴露其他端口你就在自定义端口选择,比如暴露 7001 端口,你就在自定义端口选择 TCP,输入7001/7001
即可。git 连接
# ssh remote_username@remote_ip 然后输入密码即可
如果 ssh 不存在,执行以下命令即可
# yum install openssh-client 下载客户端 ssh
ftp 工具连接(这里以 FileZilla 为例),下载 filezilla 后,点击新建站点,输入主机 ip,选择 sftp 协议,选择登录类型为正常,输入账号密码即可
部署 node 环境
# ssh remote_username@remote_ip 连接服务器
# wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz 下载 node 压缩文件
# tar xvf node-v6.9.5-linux-x64.tar.xz 解压
# 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 创建软连接
# node -v 查看 node 版本
# npm -v 查看 npm 版本
其他
# yum install vim 下载 vim
nginx 安装
# yum install epel-release 下载 epel-release
# yun install nginx 下载 nginx
# cd /etc/nginx
# vim nginx.conf 用 vim 打开 nginx.conf
修改 nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /root/www/;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location /admin/ {
# 为空即可,前端打包文件放在 /root/www/admin 里面就可访问到,注意默认是 index.html
}
location /app/ {
}
location /wx/ {
proxy_pass http://127.0.0.1:7002/;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
启动 nginx
nginx -t 测试 nginx 语法是否有误
nginx 启动 nginx
nginx -s reload 重启 nginx,修改 nginx.conf 后记得重启
其他命令
ps -ef | grep nginx 显示 nginx 进程
nginx -s stop 停止 nginx
nginx -v 查看 nginx 版本
安装 mongodb
# ssh remote_username@remote_ip 连接服务器
# curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 下载
# tar -zxvf mongodb-linux-x86_64-3.0.6.tgz 解压
# mkdir data 创建数据库文件夹
# touch mongodb.log 创建日志文件
# cd /usr/local/mongodb/bin
# ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork 注意 fork 是后台启动,避免又要再开窗口重新连接服务器再能进行其他操作
# ./mongo 连接 mongodb
配置随 linux 启动 在 /etc/rc.local 添加如下即可:
# rm /usr/local/mongodb/data/mongod.lock 停止可能在运行的 mongo
# /.../bin/mongod -dbpath /usr/local/mongodb/data -logpath /usr/local/mongodb/mongodb.log -logappend -fork -port 27017
设置权限
# cd /usr/local/mongodb/bin
# ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork
# ./mongo
> use admin
> db.createUser(
> {
> user: "root",
> pwd: "123456",
> roles: [ { role: "root", db: "admin" } ]
> }
> )
> db.shutdownServer();
# ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork --auth
# db.auth("root","123456")
项目中连接 mongodb(这里以 koa 框架 egg 项目为例,其他 node 请自行查找)
# cnpm i egg-mongoose -S
// config/plugin.js
exports.mongoose = {
enable: true,
package: 'egg-mongoose',
}
// config/config.default.js
config.mongoose = {
url: 'mongodb://127.0.0.1/eggadmin',
options: {
// 如果设置了密码
// auth: { "authSource": "admin" },
// user: "root",
// pass: "123456",
}
}
部署环境 阿里云 CentOS 7.2 64 位
本地项目根目录(删除 node_modules,建议依赖在服务器下载)
# tar -zcvf ../file_name.tgz . 打包
# scp ../file_name.tgz remote_username@remote_ip:/root/www/server 上传到服务器
服务器
# ssh remote_username@remote_ip 连接服务器
# cd /root/www
# mkdir server 这里创建 server 文件夹放 node 项目代码
# cd server
# tar -zxvf file_name.tgz . 解压
# cnpm install --production 安装生产环境依赖
# npm start 运行(这里 egg 框架提供了 egg-scripts 启动进程,其他 node 项目请自行查找使用 pm2 启动)
阿里 node 性能平台监控
# cnpm i nodeinstall -g
# nodeinstall --install-alinode ^3
# cnpm i egg-alinode --save
修改代码(这里是 egg 项目才有,其他 node 项目参考阿里云官方文档)
// config/plugin.js
exports.alinode = {
enable: true,
package: 'egg-alinode',
};
// config/config.default.js
config.alinode = {
// 从 `Node.js 性能平台` 获取对应的接入参数
appid: '<YOUR_APPID>',
secret: '<YOUR_SECRET>',
};
在项目根目录npm run build
,然后把 dist 文件夹里的内容传到服务器,这里我们把两个项目分部传到 /root/www/app 和 /root/www/admin,记得提前创建 app 和 admin 文件夹
全栈项目-基于 koa 框架 egg 的服务端接口 求一个 star~
本人水平有限,欢迎大家交流指正。本文为作者原创,转载请注明出处。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.