网站建设电脑,网站建设与管理好过吗,急招平面设计3名,做爰直播网站目录 一、前言
环境
二、步骤
1、下载上传electron-release-server到服务器
2、宝塔新建node项目网站
3、安装依赖
①npm install
②安装并配置postgres数据库
③修改项目配置文件
④启动项目
⑤修改postgres的认证方式
⑥Cannot find where you keep your Bower p…目录 一、前言
环境
二、步骤
1、下载上传electron-release-server到服务器
2、宝塔新建node项目网站
3、安装依赖
①npm install
②安装并配置postgres数据库
③修改项目配置文件
④启动项目
⑤修改postgres的认证方式
⑥Cannot find where you keep your Bower packages. 4、宝塔网站添加网址
5、无法访问 一、前言
electron团队自己维护了一个免费开源的自动更新服务。 update.electronjs.org
但是需要满足以下条件
应用运行在 macOS 或者 Windows应用有公开的 GitHub 仓库构建需要发布到 GitHub Releases 中构建是经过代码签名的
很明显我2、3、4条都不符合。那就用electron-release-server部署一个自己的更新服务器。
环境
阿里云2核2G 3M CentOS 7.9 64位宝塔面板Node14.17.6
二、步骤
1、下载上传electron-release-server到服务器
electron-release-server项目地址GitHub - ArekSredzki/electron-release-server: A fully featured, self-hosted release server for electron applications, compatible with auto-updater.A fully featured, self-hosted release server for electron applications, compatible with auto-updater. - ArekSredzki/electron-release-serverhttps://github.com/ArekSredzki/electron-release-server
我上传到了update目录下 2、宝塔新建node项目网站
宝塔后台网站 Node项目 添加Node项目如下图 网站配置项说明
项目目录我的是update目录你可以根据自己的喜好修改。项目名称随你喜欢。启动选项宝塔会自动读取package.json的script配置选择 start 【node app.js】项目端口这里暂时先填写1337后面会说到这个端口可以在哪里修改。运行用户这里必须选择root否则项目不能启动成功。包管理器我习惯用npmNode版本我就只装了一个版本你也可以尝试其他版本。
3、安装依赖
①npm install
这一步咱就不多说了在宝塔update目录下运行终端。
②安装并配置postgres数据库 # 安装 PostgreSQL
sudo yum install -y postgresql-server postgresql-contrib# 初始化数据库
sudo postgresql-setup initdb# 启动 PostgreSQL 服务
sudo systemctl start postgresql# 开机自启动设置
sudo systemctl enable postgresql# 切换到 postgres 用户
sudo -i -u postgres# 运行 psql shell
psql 在 psql shell 中执行以下命令 CREATE ROLE electron_release_server_user ENCRYPTED PASSWORD MySecurePassword LOGIN;这条 PostgreSQL 的 SQL 命令用于创建一个新的数据库用户角色其具体含义如下 CREATE ROLE这个命令用来创建一个新的数据库角色。在 PostgreSQL 中角色可以是用来登录的用户也可以是代表一组权限的组。 electron_release_server_user这是新角色的名字在这个上下文中它代表的是一个用户账号。 ENCRYPTED PASSWORD MySecurePassword这指定了新用户的密码并指示 PostgreSQL 使用加密的形式存储密码。MySecurePassword 是角色的密码你应该在实际使用中将其替换为一个强密码。 这里electron-release-server作者推荐了一个密码生成网站GRC | Ultra High Security Password Generator Ultra high security password generatorhttps://www.grc.com/passwords.htm 使用 63 random alpha-numeric characters 每次刷新都会变化。 LOGIN这个选项允许这个角色被用作登录角色即它可以用作用户账号登录到数据库。 执行这条命令后electron_release_server_user 角色将在数据库中被创建并且可以用指定的密码进行登录。这通常是在刚刚安装完成 PostgreSQL或者是在设置新的应用程序时需要进行的设定以便应用程序可以使用这个用户角色连接到数据库并进行操作。 在实际使用中通常还会授权这个角色访问特定的数据库或进行其他必要的权限设置。这样做可以提高安全性因为它确保了应用程序仅有足够的权限来完成其需要执行的数据库r操作而不会有更多过剩的权限。 然后在postgres为刚刚创建的用户创建2个表 CREATE DATABASE electron_release_server OWNER electron_release_server_user;
CREATE DATABASE electron_release_server_sessions OWNER electron_release_server_user; ③修改项目配置文件
在electron-release-server项目下找到config文件夹下的local.template这是一个配置模版文件。
修改后的代码如下 module.exports {// The full base url at which your site will be primarily available.// Include an http:// prefix// ex. http://my-site.comappUrl: 先不填后面再搞,auth: {// 后台管理员帐号密码static: {username: admin,password: 123456aa},},//这里不知道是干啥的就是必须填写一个密钥还是用上面提到的那个网站复制一个63位的字符串jwt: {// Recommended: 63 random alpha-numeric characters for secret// Generate using: https://www.grc.com/passwords.htmtoken_secret: qHrksXUmZWXQTZpoc9KN3E4TQbfpTFtowp1wpqN9olPh4Cnbt9nnt0wUdzPlF9B},models: {datastore: postgresql,dataEncryptionKeys: {// DEKs should be 32 bytes long, and cryptographically random.// You can generate such a key by running the following:// require(crypto).randomBytes(32).toString(base64)//上面说的很清楚生成一个32位的字符串看字面意思加密数据用的密钥default: lp60Yb9wJYx8TgJa2GmPTngNRIQMXTxlIXicEoYOfs},},datastores: {postgresql: {adapter: sails-postgresql,host: localhost,user: electron_release_server_user, //这就是上面创建的数据库用户名//数据库密码password: IM6WZMxcCyf55lnccZUdvEJ9UggsTUVqGnYHbvWqrGPgfsUs27OUjl2t9kSziJ7,database: electron_release_server//上面创建了2个数据库这里填第一个数据库名称}},session: {// Recommended: 63 random alpha-numeric characters for secret// Generate using: https://www.grc.com/passwords.htm//还是还是还是生成一个63密码secret: 3i0a7ZXMWeb0TjfqkzD09JvlOs4e844FjR0bmlbiJdkASh3JG0BFRxUpAqbe5Vd,database: electron_release_server_sessions,//第二个数据库名host: localhost,user: electron_release_server_user,//数据库用户名//数据库密码password: IM6WZMxcCyf55lnccZUdvEJ9UggsTUVqGnYHbvWqrGPgfsUs27OUjl2t9kSziJ7,
//随便填写一个没有被占用的端口我这里默认了port: 5432},files: {// Folder must exist and user running the server must have adequate permsdirname: upload_files,//你的文件上传目录更新包这个是我猜的还没有测试// Maximum allowed file size in bytes// Defaults to 500MB// maxBytes: 524288000 },port: 1337,//项目端口};④启动项目
执行 npm start
报错 node app.jsinfo: ·• Auto-migrating... (alter)info: Hold tight, this could take a moment.
error: A hook (orm) failed to load!
error: Failed to lift app: Exception: getConnection failed (failed). Could not acquire a connection to the database using the specified manager.
Additional data:{error: error: Ident authentication failed for user electron_release_server_userat Parser.parseErrorMessage (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:287:98)at Parser.handlePacket (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:126:29)at Parser.parse (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:39:38)at Socket.anonymous (/www/wwwroot/update/node_modules/pg-protocol/dist/index.js:11:42)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:290:12)at readableAddChunk (internal/streams/readable.js:265:9)at Socket.Readable.push (internal/streams/readable.js:204:10)at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {length: 114,severity: FATAL,code: 28000,detail: undefined,hint: undefined,position: undefined,internalPosition: undefined,internalQuery: undefined,where: undefined,schema: undefined,table: undefined,column: undefined,dataType: undefined,constraint: undefined,file: auth.c,line: 305,routine: auth_failed},meta: undefined
}at validateDatastoreConnectivity (/www/wwwroot/update/node_modules/waterline/lib/waterline/utils/system/validate-datastore-connectivity.js:27:25)at /www/wwwroot/update/node_modules/waterline/lib/waterline.js:722:18at Immediate.done [as _onImmediate] (/www/wwwroot/update/node_modules/sails-postgresql/lib/adapter.js:72:16)at processImmediate (internal/timers.js:464:21)
error: More details (raw): {error: error: Ident authentication failed for user electron_release_server_userat Parser.parseErrorMessage (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:287:98)at Parser.handlePacket (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:126:29)at Parser.parse (/www/wwwroot/update/node_modules/pg-protocol/dist/parser.js:39:38)at Socket.anonymous (/www/wwwroot/update/node_modules/pg-protocol/dist/index.js:11:42)at Socket.emit (events.js:400:28)at addChunk (internal/streams/readable.js:290:12)at readableAddChunk (internal/streams/readable.js:265:9)at Socket.Readable.push (internal/streams/readable.js:204:10)at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {length: 114,severity: FATAL,code: 28000,detail: undefined,hint: undefined,position: undefined,internalPosition: undefined,internalQuery: undefined,where: undefined,schema: undefined,table: undefined,column: undefined,dataType: undefined,constraint: undefined,file: auth.c,line: 305,routine: auth_failed},meta: undefined
} ⑤修改postgres的认证方式
上面的错误就是因为认证方式引起的。
需要更改 PostgreSQL 的 pg_hba.conf 配置文件将认证方法全部改为password。
pg_hba.conf文件路径
/var/lib/pgsql/data/pg_hba.conf
如下图所示 ⑥Cannot find where you keep your Bower packages.
Aborted due to warnings.
Running wiredep:task (wiredep) task
Warning: Error: Cannot find where you keep your Bower packages.
这个咱就不懂了问了GPT回答如下 安装 Bower 包确保您已经在项目中安装了 Bower以及所需的依赖。如果未安装您可以使用以下命令来安装 Bower npm install -g bower然后在项目根目录下运行 bower install 来安装项目的前端依赖。 但是我执行bower install时提示找不到bower命令这明显是环境变量没有设置。
执行
export PATH$PATH:$(npm config get prefix)/bin 4、宝塔网站添加网址
在宝塔网站设置里添加网址。 然后就访问网址OK 5、无法访问
去阿里云安全组查看是否放行了80端口