이 글은 Pagoda튜토리얼 칼럼에서 Pagoda 패널에 egg+web 프로젝트를 배포하는 방법을 소개하는 글입니다. 필요하신 분들에게 도움이 되었으면 좋겠습니다!
Pagoda는 egg+web 프로젝트를 배포합니다
원격 데이터베이스에 대한 로컬 액세스가 필요합니다. 참고:
1 Alibaba Cloud
2에 보안 그룹을 설정합니다. > 릴리스 포트를 설정하세요
예: 7002는 mongodb에 액세스하는 데 사용되고, 7001은 api에 액세스하는 데 사용됩니다
데이터베이스 연결을 테스트하는 가장 간단한 방법: 도메인 이름에 액세스하면 됩니다. 브라우저에서 직접 포트를 사용하거나 서버를 사용하세요. ip: port 도메인 이름을 사용하는 경우 도메인 이름을 확인하고 IP에 바인딩해야 합니다.
3 로컬 mongoDB를 온라인/데이터베이스 초기화 스크립트로 마이그레이션합니다.
데이터베이스 초기화: app.js
app.beforeStart(async () => { const ctx = app.createAnonymousContext(); const model = ctx.model; const existGroup = await model.UserGroup.findOne({name: '超级管理员'}) if(!existGroup){ const group = await model.UserGroup.create({ "name" : "普通管理员", "idName" : "admin", "role" : 100 }); } console.log("==app beforeStart=="); });
4. Egg run 구성
1. 웹사이트 추가 및 프로젝트 업로드(코드가 원격 창고에 호스팅된 경우 터미널 패널을 직접 여는 것이 좋습니다) git clone을 수행하려면 웹 사이트 디렉토리에서)
참고: 프로젝트를 업로드할 때 node_modules 파일을 삭제한 다음 업로드하세요. 그러면 훨씬 빨라집니다. 그런 다음 왼쪽(즐겨찾기 옆)에서 "파일" => "터미널"을 찾으세요. , 비밀번호를 입력하여 연결을 엽니다(또는 서버의 터미널을 사용): cd /www/wwwroot/project 디렉터리 명령줄을 입력한 다음 npm 설치를 다시 수행합니다. 이렇게 하면 프로젝트를 어느 정도 시작할 수 없는 당혹감을 피할 수 있습니다.
2. 프로세스 관리: (확인 예정!)
index.js를 생성하여 egg 서비스를 시작할 수 있습니다.
방법 1, egg에는 프로세스 관리자가 내장되어 있으며 프로젝트 디렉터리에서 직접 명령을 실행할 수 있습니다. : node index.js index.js 코드 :
const egg = require('egg'); const workers = Number(process.argv[2] || require('os').cpus().length); egg.startCluster({ workers, baseDir: __dirname, });
방법 2, 노드 프로세스 관리를 위해 PM2를 설치하고, 파일을 선택하고 "추가"를 클릭하세요
참고: 구성 후 프런트 엔드에 액세스할 수 있지만 api에 접근할 수 없습니다. 포트 점유 문제가 있는지 주의하세요
모든 포트 보기 점유 상태를 보려면 `netstat -ano` 명령을 입력하고 `pkill node` 명령을 사용하여 프로세스를 일괄적으로 종료합니다.
3. 역방향 프록시를 추가하고 이를 egg 프로젝트의 실행 포트에 프록시합니다
5. 프런트엔드 프로젝트를 패키징하여 egg 정적 디렉터리에 넣고 config/config.default.js에서 구성합니다. 새 프로젝트를 시작할 수도 있습니다)
config.static = { prefix: '/', dir: [ path.join(__dirname, '../app/public'), //上传文件等的目录 path.join(__dirname, '../dist') //放置前端打包后的文件 ]}
그런 다음 router.js에 리디렉션을 추가하여 API가 아닌 요청을 index.html로 리디렉션합니다. 프런트 엔드 페이지를 표시하려면
app.router.redirect('/', '/index.html', 302);
6.
(假设本地已有git并且提交到远程) 1、在宝塔面板,项目路径下打开终端: 2、方法一、文件未提交则直接git clone [url] 方法二、如果文件已提交, 初始化: git init 设置远程仓库地址: git remote origin set-url [url] 或 git remote add origin [url] 设置用户名: git config --global user.name [用户名] git config --global user.email [邮箱] 想要只在当前项目下设置的话把--global去掉 如本地有文件,先执行: git add . git commit -m "init" git push -u origin master 拉取: git config --global credential.helper store //让git记住用户名密码,下次不用填 git pull //输入用户名密码 拉取远程代码便可
위 내용은 Pagoda 패널은 egg+web 프로젝트를 배포합니다(자세한 단계 포함).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!