アリババ クラウド centos は、0 から node.js アプリケーション +mysql+pm2+yarn をデプロイします

Alibaba クラウド centos は node.js アプリケーションを 0 からデプロイします

1. Alibaba Cloud ホストを購入した後、Alibaba Cloud 管理コンソールにログインし、クラウド サーバー ECS インスタンスでインスタンス パスワードとリモート ログイン パスワードをリセットします。

2. クラウド サーバー ECS インスタンスでネットワークとセキュリティ グループを開き、ポート開放ルールを設定します。

3. iTerm リモート ログイン ssh コマンド: $ ssh [email protected]Enter キーを押し、パスワードを入力してログインします。

4.node.js をインストールする

yum install -y nodejs

画像-20201103182224104

npm 淘宝網のソースを置き換える

# 查看源
npm get registry

# 设置淘宝源
npm config set registry http://registry.npm.taobao.org/
yarn config set registry http://registry.npm.taobao.org/

# 还原
npm config set registry https://registry.npmjs.org/

インストールツール

npm i yarn -g

yarn

yarn global add nodemon

yarn global add pm2

pm2の使用

https://blog.csdn.net/qq_36850813/article/details/98967807

pm2 start app.js --name web-match
pm2 list 
pm2 stop all
pm2 start 0 # pm2 start [id]
pm2 logs 0 # 显示日志
pm2 delete 0 # pm2 delete [id] 删除应用

mysql をインストールする

1. centos7 に mysql がインストールされているか確認し、アンインストールします。

$ yum list installed mysql*

2. 公式 Web サイトにアクセスして、yum ソースを見つけてインストールします。

https://dev.mysql.com/downloads/

$ wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
$ sudo yum install mysql80-community-release-el7-3.noarch.rpm

画像-20201108211529768

画像-20201108212010219

3. インストールが成功したかどうかを確認します

$ sudo yum repolist all|grep mysql

画像-20201108212124174

参考:https://blog.csdn.net/yanchao963852741/article/details/105297519/

yum -y install mysql-community-server
报错
未找到匹配的参数: mysql-community-server
错误:没有任何匹配

4. mysql をインストールする前にデフォルトの mysql モジュールを無効にする

sudo yum module disable mysql

image-20201108214150605

5. インストールを実行する

yum install mysql-community-server

画像-20201108214656794

画像-20201108215004691

6. インストールが成功したら、mysql サービスを再起動します。

sudo service mysqld restart  // 重启mysql服务
sudo service mysqld status   // 查看mysql状态
sudo systemctl enable mysqld  // 配置开机启动

画像-20201108215340744

mysqlにログイン

参考:https://www.jb51.net/article/168465.htm

1. パスワードなしで mysql にログインしてみる

mysql -u root

画像-20201108215811246

2. インストール後にパスワードがある root は /var/log/mysqld.log ファイルにデフォルトのパスワードを生成し、パスワードを見つけます。

grep 'temporary password' /var/log/mysqld.log

画像-20201219005835453

jF8rUfIe9p=t

3. デフォルトのパスワードを入力して mysql にログインし、パスワードを変更します

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '此处填入你的密码';

4. リモート ユーザーを追加する

# 语法
$ create user 'username'@'%' identified by 'password';
# 真实
$ create user 'web'@'%' identified by '此处填入你的密码';
# 给用户赋予权限
$ GRANT ALL PRIVILEGES ON *.* TO 'web'@'%';

参考:https://blog.csdn.net/anthony1314/article/details/100612544

エラーを報告するにはに対するすべての権限を付与します

5. 新しいユーザーを作成した後、1130、「ホスト 'xxxx' はこの MySQL サーバーへの接続を許可されていません」というエラーが navicat との接続時に発生する

https://blog.csdn.net/zd147896325/article/details/82427107

# 切换数据库看用户表
use mysql;
select host,user,plugin from user;
# 刷新权限
flush privileges;

画像-20201108224232914

権限を更新した後に再接続すると、接続が成功します

画像-20201108224400295

データベースを作成する権限がありません

1044 - ユーザー 'web'@'%' のデータベース 'test' へのアクセスが拒否されました

参考 https://www.cnblogs.com/ahu-lichang/p/6702921.html

画像-20201108232821325

ノードは mysql を使用してエラーを報告します。

// MYSQL: ER_NOT_SUPPORTED_AUTH_MODE: クライアントは認証プロトコルをサポートしていません
// 理由: データベースにログインするクライアントは mysql8.0 と互換性がなく、mysql8.0 のパスワード認証は新しいパスワード形式を採用しています
// 解決策:システムの mysql ターミナル 次のコマンド:
// password はデータベース アカウントのパスワードです。root と localhost も
// ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'です。

上記のステートメントを実行し、エラーを報告します

エラー 1396 (HY000): 'web'@'localhost' に対する操作 ALTER USER が失敗しました

http://www.geekjc.com/post/5cbe76ce066d3d3ce5c12fd0

use mysql;

select user,host,plugin from user;
# 注意我的 web,host是'%'
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123';

image-20201109000813303

mysql リスニング ポート メソッドを表示する

netstat -ntlp|grep mysql
node.js http-server ビルド ローカル サーバー
yarn global add http-server

hs <path> -a 127.0.0.1 -p 8090 
# 如:当前目录启动
hs ./ -a 127.0.0.1 -p 8090
git 保存パスワード
git config --global credential.helper store
# 输入一次密码以后会记住密码
ポートが占有され、複数のノードが起動されている
# 查看node进程
ps -ef|grep node
# 关闭进程 8987
sudo kill 8987

注: Linux では、システムのデフォルトが非 root ユーザーであるため、1024 およびそれより小さいポートは使用できず、sudo 権限が必要です。

ローカル デバッグの運用構成を開始する
export NODE_ENV='production'&& node app.js # 注意&&前不能有空格
sudo pm2 コマンドが存在しません
sudo ln -s /usr/local/bin/pm2 /usr/bin/pm2
ファイアウォールをオフにする
firewall-cmd --query-port=80/tcp --zone=public  #查询80端口是否开启,自行修改端口号

firewall-cmd --zone=public --add-port=80/tcp --permanent #添加80端口,如需添加其他端口,自行修改端口号
修改完成后需要重启服务器才能生效

systemctl status firewalld # 查看防火墙状态

systemctl stop firewalld

参考サイト

https://www.cnblogs.com/starof/p/4680083.html

https://www.jianshu.com/p/a04bd6348fa3

https://www.jb51.net/article/168465.htm

おすすめ

転載: blog.csdn.net/zhouweihua138/article/details/129543414