1. 環境整備パブリックネットワークでブログにアクセスしたい場合は、まずクラウドサーバー、つまり大手クラウドベンダーからサーバーを借りる必要があります。たとえば、私は68元を費やしてQingyunから1コア2Gサーバーを購入しました。今見ているブログはこのサーバー上にあります。専用のドメイン名も購入するのが最善です。年に12回もあれば十分です。 2. DockerをインストールするSolo ブログのデプロイには Docker を使用するためです。そのため、まずはdockerをインストールする必要があります。dockerの紹介については、Baiduでご自身で検索してください。 yumソースを設定する sudo yum インストール -y yum-utils sudo yum-config-manager \ --リポジトリを追加\ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo Dockerをインストールする sudo yum install -y docker-ce docker-ce-cli containerd.io 起動する systemctl で docker を有効にする --now 構成の高速化 ここで、dockerの本番環境のコア構成cgroupを追加します。 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "レジストリミラー": ["https://82m9ar63.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "ログドライバー": "json ファイル", 「ログオプション」: { "最大サイズ": "100m" }, "ストレージ ドライバー": "overlay2" } 終了 sudo systemctlデーモンリロード sudo systemctl dockerを再起動します テスト: dockerのバージョンを入力し、次の画面が表示されたらインストールは成功です。 3. MySQLマスタースレーブデータベースをインストールするすでにdockerがインストールされているので、コマンドを直接使用して、1回のクリックでmysqlデータベースをデプロイできます(著者がデプロイしたマスタースレーブmysql) 3.1、MySQL環境の準備mkdir -p /data/master/data/mysql-master && mkdir -p /data/master/data/mysql-slave ##データディレクトリ mkdir -p /data/master/master && mkdir -p /data/master/slave ##構成ディレクトリ 設定ディレクトリに 2 つの設定ファイル (それぞれ master.cnf と slave.cnf) を配置します。内容は次のようになります。 [root@ウェブサイトマスター]# cat master/master.cnf [mysqld] ログ bin = mysql bin binlog_format=行 サーバーID=1 ログエラー=/var/log/mysqld.log [root@ウェブサイトマスター]# cat slave/slave.cnf [mysqld] ログ bin = mysql bin binlog_format=行 サーバーID=2 ログエラー=/var/log/mysqld.log 3.2. MySQLマスターデータベースとスレーブデータベースを起動する注: ここでのパスワードは123456に設定されており、MySQLのデフォルトのデータストレージディレクトリは/data/master/dataにマッピングされています。 docker run -itd --name mysql-master -v /data/master/data/mysql-master:/var/lib/mysql -v /data/master/master:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.6 docker run -itd --name mysql-slave -v /data/master/data/mysql-slave:/var/lib/mysql -v /data/master/slave:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -p 3316:3306 mysql:5.6 3.3. MySQLメインデータベースにログインするdocker ps -a ## 2つのmysqlデータベースのステータスが両方ともUPであるかどうかを確認します docker exec -it mysql-master /bin/bash mysql -u root -p123456 ## mysqlにログイン show variables like 'log_bin'; ##bin-log のオープン状態を確認します。ON の場合は、正常にオープンされていることを意味します。マスタースレーブ同期のために binlog を開く必要があります。 show master status; ## クエリされたファイル名と位置を覚えておいてください。これらは、後でスレーブ データベースを構成するときに使用されます。 ## ユーザーを作成し、権限を付与します CREATE USER 'bakup'@'%' IDENTIFIED BY '123456'; *.* のすべての権限を 'bakup'@'%' に付与します。 データベースをソロで作成します。 3.4. MySQLスレーブライブラリにログインするdocker exec -it mysql-slave /bin/bash ## スレーブライブラリに入る mysql -u root -p123456 ## mysqlにログイン マスターをmaster_host='192.168.1.5'、master_port=3306、master_user='bakup'、master_password='bakup'、master_log_file='mysql-bin.000001'、master_log_pos=154に変更します。##マスタースレーブ接続を構成します。start slave; ##スレーブバックアップを開始します。show slave status\G; ##ステータスを表示します。 2 つの「はい」が表示されたら完了です。 3.5、マスタースレーブパラメータの説明
4. 個人ブログを立ち上げるすべての準備が完了したら、ソロのインストールを開始できます。 docker run --detach --name solo --env RUNTIME_DB="MYSQL" --env JDBC_USERNAME="root" --env JDBC_PASSWORD="123456" --publish 8080:8080 --link mysql-master:mysql-master --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" --env JDBC_URL="jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" b3log/solo --listen_port=8080 --server_scheme=http --server_host=localhost --server_port=8080 docker logs solo ## コンテナ solo のログを表示します [INFO ]-[2021-11-12 18:30:32]-[org.b3log.solo.Server:254]: Solo が起動しています [ver=4.3.1, os=Linux, isDocker=true, inJar=false, luteAvailable=false, pid=1, runtimeDatabase=MYSQL, runtimeMode=PRODUCTION, jdbc.username=root, jdbc.URL=jdbc:mysql://192.168.1.5:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC] [INFO ]-[2021-11-12 18:30:34]-[org.b3log.solo.service.InitService:177]: Solo を初めてセットアップします。データベース内のテーブルを初期化します [MYSQL] [警告]-[2021-11-12 18:30:36]-[org.b3log.solo.service.InitService:150]: Solo は初期化されていません。ブラウザを開いて Solo を初期化してください。 Solo は初期化されていません。ブラウザを開いて Solo を初期化してくださいというメッセージが表示されたら、Solo は正常にインストールされましたが、初期化されていないことを意味します。先ほど起動したポートが 8080 であることがわかります。ドメイン名プラスポートを使用するのは低いように感じるので、nginx を使用して転送します。 5. Nginx はリバースプロキシを実装する ソロブログnginx のインストールについては、ここでは詳しく説明しません。学生は Baidu にアクセスして設定ファイルを探してください。 http { ファイル送信オン; mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; キープアライブタイムアウト65; gzip オン; アップストリームバックエンド{ サーバー localhost:8080; } サーバー{ 聞く 80; サーバー名 yunxue521.top; 位置 / { proxy_pass http://backend$request_uri; proxy_set_header ホスト $http_host; proxy_set_header X-Real-IP $remote_addr; } } ローカル マシンのポート 8080 を指すバックエンド アドレスを定義していることがわかります。Nginx はポート 80 をリッスンします。ポート 80 にアクセスすると、ポート 8080 に転送され、ポート転送が実現されます。 VI. 実績の表示これで、Docker を使用して SOLO 個人ブログをゼロから構築する方法に関するこの記事は終了です。Docker を使用して SOLO 個人ブログをゼロから構築することに関する関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援してください。 以下もご興味があるかもしれません:
|
<<: HTML と CSS を使用して絵文字付きのコメント ボックスを作成する方法のチュートリアル
序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...
目次VARCHAR 型と CHAR 型結論: VARCHAR 型と CHAR 型VARCHAR と ...
スタックフローからの回答:単に<br>だけで十分です。その他の形式は、XHTML との互...
その特性は次のとおりです。方向アクティブな字幕のスクロール方向を設定するコードは次のとおりです。 &...
Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...
目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...
目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...
目次BOM (ブラウザ オブジェクト モデル) 1. ウィンドウブラウザのウィンドウサイズを取得する...
HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...
Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union...
Web ページのパフォーマンスを向上させるために、多くの開発者は、JavaScript、画像の最適化...
私たちは Web 開発者として、プロの DBA ではありませんが、データベースなしではやっていけませ...
目次概要ハッシュプロパティホストプロパティホスト名属性Href属性起源のプロパティユーザー名とパスワ...
HTML でのテキストのデフォルトの配置は水平ですが、特殊な場合にはテキストを垂直に配置する必要が...
Node の研究と応用を通じて、NodeJS はシングルスレッド、イベント駆動型、非ブロッキング I...