网页设计和网站编辑,建设网站群的指导思想,律师网站建设推广,房地产销售政策一、上传代码
1、使用git
可以使用Git Clone。使用前#xff0c;在服务器上也要创建秘钥对。这里的密钥对#xff0c;是专门用来读取Git仓库的。 在宝塔上#xff0c;点击终端。进来后#xff0c;运行
ssh-keygen还是一路回车#xff0c;密钥对就建好了。
接着用命令…一、上传代码
1、使用git
可以使用Git Clone。使用前在服务器上也要创建秘钥对。这里的密钥对是专门用来读取Git仓库的。 在宝塔上点击终端。进来后运行
ssh-keygen还是一路回车密钥对就建好了。
接着用命令查看下刚才生成的公钥。看到后老规矩直接复制一下。
cat ~/.ssh/id_rsa.pub 然后打开GItHub里自己的仓库点击设置左侧找到部署密钥再点击新增部署密钥 Title大家可以随便填写一个只要自己知道是干什么的就行。 然后把刚才复制的密钥粘贴到这里。 部署密钥只能用来克隆Clone和拉取Pull但是不能用来推送Push代码。所以不要给写入权限。 最后提交一下 用GitHub的话会要求用手机上的GitHub App输入验证码。用国内其他仓库的则没有这一步。 现在部署密钥就添加好了如果用其他 Git 仓库也是类似的添加操作。接着回到仓库的代码这里。点击Code确认当前选择的是SSH复制一下地址。 再回到宝塔里点击文件确保现在所在的位置是/www/wwwroot。这个路径是专门用来存放项目的位置然后点击终端 注意如果出现宝塔终端提示无法自动认证这是自己生成的密钥与宝塔终端的密钥互相冲突导致的按以下步骤操作
点击文件进入/root/.ssh目录删掉所有密钥。重新点击宝塔终端就可以进去了。再次回到/root/.ssh目录会发现宝塔终端自己生成了新的密钥。为了避免冲突直接将此密钥传到Git即可就不要自己生成密钥了。
里面输入
git clone 你的仓库地址这样仓库就克隆下来了。关闭窗口后刷新一下就能看到自己的项目了。
2、使用宝塔直接上传
另外一种方式大家可以直接使用宝塔的上传功能。将自己的本地项目打个zip压缩包。上传到服务器后再解压这样也是可以的。这种操作非常简单我们这里就不演示了。
3、安装依赖包
接着在宝塔里点击自己的项目。进入项目目录里后再次打开终端。运行
npm i4、 修改代码
我们还需要对服务器上的代码做个配置
4.1. 设置环境变量
在项目目录中找到.env.example右侧找到更多选择复制 直接按Ctrl V进行粘贴。改为名.env后点击确认 双击打开.env后将环境改为生产环境。
NODE_ENVproduction4.2. 设置密钥
还需要设置密钥大家打开自己电脑上的终端。运行
node进入交互模式后依次运行
const crypto require(crypto);
console.log(crypto.randomBytes(32).toString(hex)); 复制得到的秘钥填写到.env文件中的SECRET配置中。 这个秘钥就专供生产环境使用它不归 Git 仓库管理更不要告诉其他人了。
4.3. 配置数据库连接
关闭编辑器后接着点击宝塔左侧的数据库点击root密码。这里默认已经有一个数据库密码了大家可以自定义其他的或者随机生成另一个新的。 我就不改了直接复制一下。再点击文件找到数据库配置的config/config.json
双击后将刚复制的密码填写到production里。还有千万不要忘记了密码要用双引号包裹起来。 接着保存关闭编辑器。
5. 创建数据库
我们还要需要在服务器上创建数据库。回到项目根目录位置千万不要搞错点击终端运行创建数据库的命令 参考node ORM sequelize使用、查询、验证及express 基础框架的搭建及实例的使用
npx sequelize-cli db:create --charset utf8mb4 --collate utf8mb4_general_ci --env production
第一次运行会询问是否确认直接回车。命令后面的--env production表示要创建的是生产环境的数据库也就是clwy_api_production。
6. 创建数据表
接着创建数据表直接运行迁移。同样需要指定是生产环境。
npx sequelize-cli db:migrate --env production 7. 生成初始数据
还可以用种子文件生成初始数据。
npx sequelize-cli db:seed:all --env production8.使用 MySQL 客户端远程管理数据库
全都运行完毕后关闭终端。我们可以用客户端连接到服务器上的MySQL查看一下数据库有没有什么问题。当然想要导入导出SQL文件使用客户端也非常方便。
新建一个连接选择 SSH 选择私钥 打开后已经能访问服务器上的数据库了。
9. 总结一下
上传代码推荐使用Git Clone。或者用宝塔面板直接上传但是不推荐。Linux上的npm包有可能和Windows上不同。上传到服务器后需要重新安装。生产环境有自己的环境变量、秘钥和数据库配置。可以使用命令创建生产环境的数据库、表和数据。使用MySQL客户端也可以远程管理服务器上的数据库。