セルフプッシュサービス
11256 ワード
CodePush(独自のプッシュサービスを構築)
参照:code-push-server
環境:Linux CentOS 7.5+mysql 80-community-release-el 7-1.noarch.rpm+node.js 10.14.0+code-push-server 0.5.2仮想マシンでの操作であり、Linuxはインストールされたばかりであるため、ゼロからステップを記録してLinuxインストールは書かず、私用のosダウンロードアドレスを添付します.http://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Everything-1804.isoシステムが走り出すと、wgetダウンロードコマンドも走れないことに気づき、yum-y install wgetで解決します
git yum install git-coreのインストール
vimのインストール
screenのインストール(マルチスクリーン操作が便利で、ここではしばらく使えません)
そしてもちろんMySQL公式サイトのダウンロードアドレスを持ってきてダウンロードを実行します(Linuxダウンロードファイルコマンド:「wget-P」+保存ディレクトリ+ダウンロードアドレス):wgethttps://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
rpmファイルは小さくて、ダウンロードしてyumソースを配置します
どのバージョンが使用可能かを確認します(vi/etc/yum.repos.d/mysql-community.repoを編集フォーマットに入力し、必要なバージョンenabledを1に変更します.他のバージョンは0に変更します.すべてのバージョンenabled=1の場合、デフォルトで最新バージョンのMySQLが起動します)ここには5.7バージョンがインストールされています.
インストールを開始します.インストール中にインストール内容を確認する必要があります.yを入力して車に戻ればいいです.
インストール完了後にサービスを開始
サービスステータスを表示します
mysqlサービスが開始されました
MySQLでは最初にランダムパスワードが生成され、ログからランダムパスワードが表示されます.
次にMySQLにログインします
パスワードを入力してログインに成功したらパスワードを変更します
次にnode.jsをダウンロードし、圧縮パッケージを解凍、削除します.
ソフト接続を確立し、バージョン番号を確認して成功したかどうかを確認します.
nodeバージョンcode-push構築インストールPM 2の表示
ここには2つの方法があります(2つの方法は後で少し違います):1、code-push-serverを直接インストールし、プロファイルを変更します
2、code-pushコードをローカルにダウンロードし、プロファイルを修正する
プロファイル変更の説明:
データベース構成を変更してデータベースを初期化する前に、プロファイルconfig.jsを変更する必要があります.まず、データベース構成を変更します(実はここではパスワードしか変更していません).次に、local.storageDir、local.downloadUrl、common.dataDir、jwt.tokenSecretのいくつかの値を変更して、それぞれ説明します:1、local.storageDir:自分のパスに変更します.2、local.downloadUrl:ファイルダウンロードアドレスCodePush Serverアドレス+'/download'download対応app.js内のアドレス(ここではIPアドレスのみ変更)3、jwt.tokenSecret:jwt署名鍵を登録し、https://www.grc.com/passwords.htmランダム文字列を取得し、値INSERT_を置き換えます.RANDOM_TOKEN_KEY 4、common.dataDir:自分のパスに変更し、読み取り/書き込み権限(図中のパスは事前に作成したフォルダ)があることを確認してconfig.js構成を変更する
code-push-serverのMySQLデータベースの初期化
プロセス.jsonプロファイルの作成
corsライブラリの追加(ドメイン間アクセスの解決)
app.jsを編集しcorsライブラリを参照
次のコードリファレンスcorsを追加
pm 2のいくつかのコマンドを列挙します.
code-push-serverを起動
コマンドでページを検証します
curl -I http://192.168.216.128:3000/検証ページ
注意:手順に従ってここまで行くと、仮想マシンのLinuxシステムにはポートが開発されていないため、ポートを開く必要があります.
Linuxオープンポート効果図:
デフォルトアカウントadmin、パスワード123456
ログインページ
ログインtoken code-push-server//方法1:npmでcode-push-serverを直接インストールする
//データベースの更新
//方法2:githubから直接ソースコードをダウンロードしてcode-push-serverをインストールする
//データベースの更新
App端Ionic具体的には原生アンドロイド集積Ionic 3+CodePushを参考にして、react native資料が少し多いならネットで自分で探しましょう
//管理者パスワードの変更例:
App側構成config.js
code-push-serverをWeb管理でcode-push-cliを使いたくない場合は、Web管理code-push-serverを使用します.code-push-serverの構成を変更し、config.jsのcommonにwebのアドレスを追加します.
code-push-webソースコードをローカルにダウンロードし、インストール後に構成を変更します(正式線とテスト線のアドレス)
実行:
//テストは直接実行すればよい
//正式発表先ビルドパッケージ
サポートされるストレージ・モード
参照:code-push-server
環境:Linux CentOS 7.5+mysql 80-community-release-el 7-1.noarch.rpm+node.js 10.14.0+code-push-server 0.5.2仮想マシンでの操作であり、Linuxはインストールされたばかりであるため、ゼロからステップを記録してLinuxインストールは書かず、私用のosダウンロードアドレスを添付します.http://mirrors.aliyun.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-Everything-1804.isoシステムが走り出すと、wgetダウンロードコマンドも走れないことに気づき、yum-y install wgetで解決します
git yum install git-coreのインストール
vimのインストール
yum -y install vim
screenのインストール(マルチスクリーン操作が便利で、ここではしばらく使えません)
yum install screen
そしてもちろんMySQL公式サイトのダウンロードアドレスを持ってきてダウンロードを実行します(Linuxダウンロードファイルコマンド:「wget-P」+保存ディレクトリ+ダウンロードアドレス):wgethttps://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
rpmファイルは小さくて、ダウンロードしてyumソースを配置します
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
どのバージョンが使用可能かを確認します(vi/etc/yum.repos.d/mysql-community.repoを編集フォーマットに入力し、必要なバージョンenabledを1に変更します.他のバージョンは0に変更します.すべてのバージョンenabled=1の場合、デフォルトで最新バージョンのMySQLが起動します)ここには5.7バージョンがインストールされています.
yum repolist all | grep mysql
インストールを開始します.インストール中にインストール内容を確認する必要があります.yを入力して車に戻ればいいです.
yum install mysql-community-server
インストール完了後にサービスを開始
service mysqld start
サービスステータスを表示します
service mysqld status
mysqlサービスが開始されました
MySQLでは最初にランダムパスワードが生成され、ログからランダムパスワードが表示されます.
grep "temporary password" /var/log/mysqld.log
次にMySQLにログインします
mysql -u root -p
パスワードを入力してログインに成功したらパスワードを変更します
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test.1234';
次にnode.jsをダウンロードし、圧縮パッケージを解凍、削除します.
cd /
wget https://nodejs.org/dist/v10.14.0/node-v10.14.0-linux-x64.tar.xz
tar -xvf node-v10.14.0-linux-x64.tar.xz -C /
rm -rf node-v10.14.0-linux-x64.tar.xz
ソフト接続を確立し、バージョン番号を確認して成功したかどうかを確認します.
ln -s /node-v10.14.0-linux-x64/bin/npm /usr/local/bin/
ln -s /node-v10.14.0-linux-x64/bin/node /usr/local/bin/
node -v
nodeバージョンcode-push構築インストールPM 2の表示
npm i -g pm2
ln -s /node-v10.14.0-linux-x64/lib/node_modules/pm2/bin/pm2 /usr/local/bin
ここには2つの方法があります(2つの方法は後で少し違います):1、code-push-serverを直接インストールし、プロファイルを変更します
npm install code-push-server -g
cd /node-v10.14.0-linux-x64/lib/node_modules/code-push-server/config
vim config.js
2、code-pushコードをローカルにダウンロードし、プロファイルを修正する
git clone https://github.com/lisong/code-push-server.git
cd code-push-server
npm install
cd config
vim config.js
プロファイル変更の説明:
データベース構成を変更してデータベースを初期化する前に、プロファイルconfig.jsを変更する必要があります.まず、データベース構成を変更します(実はここではパスワードしか変更していません).次に、local.storageDir、local.downloadUrl、common.dataDir、jwt.tokenSecretのいくつかの値を変更して、それぞれ説明します:1、local.storageDir:自分のパスに変更します.2、local.downloadUrl:ファイルダウンロードアドレスCodePush Serverアドレス+'/download'download対応app.js内のアドレス(ここではIPアドレスのみ変更)3、jwt.tokenSecret:jwt署名鍵を登録し、https://www.grc.com/passwords.htmランダム文字列を取得し、値INSERT_を置き換えます.RANDOM_TOKEN_KEY 4、common.dataDir:自分のパスに変更し、読み取り/書き込み権限(図中のパスは事前に作成したフォルダ)があることを確認してconfig.js構成を変更する
code-push-serverのMySQLデータベースの初期化
cd ../
./bin/db init --dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "Test.1234"
プロセス.jsonプロファイルの作成
vim process.json
( script code-push-server ,CONFIG_FILE config.js ):
{
"apps" : [
{
"name" : "code-push-server",
"max_memory_restart" : "300M",
"script" : "bin/www",
// , github ,script bin/www
"instances" : "max", // ,max cpu
"exec_mode" : "cluster", // ,
"env" : {
"NODE_ENV" : "production",
"PORT" : 3000,
"CONFIG_FILE" : "/node-v10.14.0-linux-x64/lib/node_modules/code-push-server/config/config.js"
// , github ,CONFIG_FILE config/config.js
}
}
]
}
corsライブラリの追加(ドメイン間アクセスの解決)
npm install cors
app.jsを編集しcorsライブラリを参照
vim app.js
次のコードリファレンスcorsを追加
var cors = require('cors')
app.use(cors());
pm 2のいくつかのコマンドを列挙します.
pm2 start process.json //
pm2 restart process.json //
pm2 stop process.json //
// pm2
pm2 ls
pm2 show code-push-server
tail -f "output file path"
code-push-serverを起動
コマンドでページを検証します
curl -I http://192.168.216.128:3000/検証ページ
注意:手順に従ってここまで行くと、仮想マシンのLinuxシステムにはポートが開発されていないため、ポートを開く必要があります.
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
Linuxオープンポート効果図:
デフォルトアカウントadmin、パスワード123456
ログインページ
ログインtoken code-push-server//方法1:npmでcode-push-serverを直接インストールする
npm install -g code-push-server@latest
cd /node-v10.14.0-linux-x64/lib/node_modules/code-push-server
./bin/db upgrade --dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "Test.1234"
//データベースの更新
pm2 restart code-push-server # restart service
//方法2:githubから直接ソースコードをダウンロードしてcode-push-serverをインストールする
cd /path/to/code-push-server
git pull --rebase origin master
./bin/db upgrade --dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "Test.1234"
//データベースの更新
pm2 restart code-push-server # restart service
App端Ionic具体的には原生アンドロイド集積Ionic 3+CodePushを参考にして、react native資料が少し多いならネットで自分で探しましょう
code-push-server , code-push-cli code-push-server。
code-push login http://192.168.216.128:3000
//管理者パスワードの変更例:
curl -X PATCH -H "Authorization: Bearer mytoken" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}' http://192.168.216.128:3000/users/password
App側構成config.js
code-push-serverをWeb管理でcode-push-cliを使いたくない場合は、Web管理code-push-serverを使用します.code-push-serverの構成を変更し、config.jsのcommonにwebのアドレスを追加します.
"codePushWebUrl":"http://192.168.216.128:3001"
code-push-webソースコードをローカルにダウンロードし、インストール後に構成を変更します(正式線とテスト線のアドレス)
cd /
git clone https://github.com/lisong/code-push-web.git
cd code-push-web
npm install
vim ./src/config.js
実行:
//テストは直接実行すればよい
npm start
//正式発表先ビルドパッケージ
npm run build --release
cd build
npm install
node server.js
code-push
code-push login http://192.168.216.128:3000
code-push logout
code-push access-key ls token
code-push access-key rm access-key
code-push app add app
code-push app remove rm app
code-push app rename app
code-push app list ls app
code-push app transfer app
サポートされるストレージ・モード
local (default) //
qiniu (qiniu) //
s3 (aws) //
oss (aliyun) //
tencentcloud //