使用1Panel面板部署godoOA
本帖最后由 yhw231 于 2025-5-30 12:17 编辑首先安装环境,要求是
node >=16
mysql >=5.7
redis >=5.0
但是实际还有nginx,在1panel中使用的是OpenResty。
另外从 MySQL 8.0 开始,默认的身份验证插件是 caching_sha2_password,但老版本的 Node.js MySQL 客户端(比如 mysql 模块)只支持 mysql_native_password。所以最好使用5.7,如果要>8.0,需要修改验证,不过1panel安装8.0时,高级选项会设置
command:
- --default-authentication-plugin=mysql_native_password
如果设置了就不用单独设置了。
然后开始安装步骤
1.创建源码上传目录,我是在/opt/1panel/www/创建的node/GodoOA,然后上传源码,解压,解压后完整目录为/opt/1panel/www/node/GodoOA/GodoOA-master,后续文件操作基本都从这个目录开始
2.创建node运行环境,项目目录就选/opt/1panel/www/node/GodoOA/GodoOA-master,启动命令选start 【 node production.js 】,端口8200 - 8200
3.创建网站,选择上面创建的运行环境,填好域名、创建数据库(数据库编码utf8mb4),其他不用改。
4.修改配置。
①.安装依赖。选择运行环境,创建的运行环境--更多--终端,执行官方指令安装依赖
npm i
以防万一可以再运行一下这个命令,安装pm2,防止启动时无法识别pm2
npm install -g pm2
②.用数据库管理软件导入docs/godooa.sql文件,修改src/common/config.js数据库配置,改成自己数据库的信息,host使用数据库的容器ID
host: '1Panel-mysql-mT1D',
database: 'godocms',
port: '3306',
user: 'godocms', password: 'xGHxtj7DinEFZKPR',
③.修改nginx配置,1panel使用的是OpenResty,打开GodoOA-master目录下的nginx.conf,复制内容,通过【网站--网站--配置--配置文件】来编辑nginx配置,粘贴覆盖原配置,然后修改域名和前端程序地址为自己的,如果要开ssl自己设置。
server {
listen 80;
#listen 443 ssl;
#域名,修改为自己的域名
server_name oa.123456.xyz;
#证书地址改下面两行
#ssl_certificate /data/key/gdoa.top_chain.crt;
#ssl_certificate_key /data/key/gdoa.top_key.key;
#ssl_session_cache shared:SSL:1m;
#ssl_session_timeout 5m;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_prefer_server_ciphers on;
#前端程序地址
root /www/node/GodoOA/GodoOA-master/www;
set $node_port 8200;
index index.js index.html index.htm;
if ( -f $request_filename/index.html ){
rewrite (.*) $1/index.html break;
}
if ( !-f $request_filename ){
rewrite (.*) /index.js;
}
location = /index.js {
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:$node_port$request_uri;
proxy_redirect off;
}
location ~ /admin/ {
etag on;
expires max;
}
location ~ /static/ {
etag on;
expires max;
}
}
④.修改pm2.json下第5 行"cwd": "/data/godo",改为"cwd": "/app",这里改成/app是因为容器不能使用主机路径,但是默认会挂载/opt/1panel/www/node/GodoOA/GodoOA-master为/app,配置全文如下:
{
"apps": [{
"name": "godooa",
"script": "development.js",
"cwd": "/app",
"exec_mode": "fork",
"max_memory_restart": "2G",
"autorestart": true,
"node_args": [],
"args": [],
"env": {
}
}]
}
然后重启环境,打开http://域名/res/group/login.html显示登录界面,输入验证码,能登陆就是没问题了。
页:
[1]