Nginx+Tomcat+Redis を介して永続セッションを実装する方法
デプロイ環境
centos7
nginx1.10.2
tomcat7.0
redis3.2.3
mariadb 5.5.44
必要なパッケージ
commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manager- 2.0.0.jar
ソロブログ
##1. nginx サーバー構成
インストール前の準備
ntpdate 172.18.0.1iptables -f
yum install nginx
アップストリーム tomcatservers: バックエンド サーバー グループを作成し、http 内に
注: 省略記号はその他のデフォルトのパラメータです。特別な必要がない場合は、デフォルトの
vim /etc/nginx/nginx.conf http { ... upstream tomcatservers { server 172.18.68.21:8080; server 172.18.68.22:8080; } ... server { ... location / { proxy_pass http://tomcatservers; } ... } } systemctl start nginx
ポートを確認してください
サーバーを起動するときに、ポート 80 が正常にリッスンしているかどうかを確認してください。
ss -ntl
#2 つの Tomcat サーバー構成はまったく同じです。両方のホストで次の手順を繰り返します。
インストール前の準備
ntpdate 172.18.0.1iptables -f
インストールtomcat
yum install tomcat
solo をデプロイ
.war パッケージが webapps ディレクトリにコピーされる 再起動後tomcat、tomcat はファイルを自動的に解凍します
cp solo-2.4.1.war /usr/share/tomcat/webapps/ systemctl restart tomcat
solo
serverhost をフロントエンド ロード バランシングのドメイン名または IP として構成します (静的と表示される場合)デプロイメント完了後 リソースをロードできない場合は、通常、何か問題が発生しています。
cd /usr/share/tomcat/webapps/solo-2.4/web-inf/classes vim latke.properties #### server #### # 配置协议 serverscheme=http # 配置客户端访问站点时的域名或ip,也就是前端nginx的域名 serverhost=www.shuaiguoxia.com # 使用的端口 serverport=80
mysql に接続するための Solo の設定
h2 ランタイム パーツは、デフォルトで Solo によって使用されます。手動でコメントアウトした後、mysql ランタイム パーツのコメントを解除します。 。
mysql のユーザー名とパスワードを設定し、172.18.68.41 を mysql (main) の IP アドレスに変更します。
#### h2 runtime #### #runtimedatabase=h2 #jdbc.username=root #jdbc.password= #jdbc.driver=org.h2.driver #jdbc.url=jdbc:h2:~/solo_h2/db #jdbc.pool=h2 # #### mysql runtime #### runtimedatabase=mysql jdbc.username=root # 用户名 jdbc.password=123456 # 密码 jdbc.driver=com.mysql.jdbc.driver jdbc.url=jdbc:mysql://172.18.68.41:3306/solo?useunicode=yes&characterencoding=utf8 jdbc.pool=druid
Tomcat 接続リードの構成
Tomcat 接続リードには 3 つのソフトウェア パッケージが必要です:
commons-pool2-2.2.jar jedis-2.5.2.jar tomcat-redis-session-manager-2.0.0.jar
ダウンロード アドレス
cp commons-pool2-2.2.jar /usr/share/tomcat/lib/ cp jedis-2.5.2.jar cp tomcat-redis-session-manager-2.0.0.jar
ip は redisip アドレス、port は redis がリッスンするポートです
vim /etc/tomcat/context.xml # <valve classname="com.orangefunction.tomcat.redissessions.redissessionhandlervalve" /> <manager classname="com.orangefunction.tomcat.redissessions.redissessionmanager" host="172.18.68.31" port="6379" database="0" maxinactiveinterval="60" />
Restart tomcat
systemctl restart tomcat
3. Redis サーバーの構成
Redis サーバーは 2 つあり、マスターとスレーブが 1 つずつあります。設定ファイルが異なるだけで、他のプロセスは同じです。
ntpdate 172.18.0.1 iptables -f
redis のインストール
yum install redis
#Redis マスター ノードの構成
マスター ノードは IP、リスニング ポート、接続パスワードのみを構成します
vim /etc/redis.conf bind 0.0.0.0 # 监听所有ip port 6379 # 设定监听的端口 requirepass 123456 # 设定连接的密码
redis スレーブ ノードの構成
スレーブ ノードを読み取り専用として設定します
bind 0.0.0.0 # 监听所有ip slaveof 172.18.68.31 6379 # 设定主节点的ip+端口 masterauth 123456 # 主节点的连接密码 slave-read-only yes # 从节点为只读
マスター/スレーブ構成が成功したことを確認します
shell > redis-cli -h 172.18.68.32 # 连接从服务器redis 127.0.0.1:6379> info replication # 查看主从复制状态信息 # replication role:slave master_host:172.18.68.31 # 主节点ip master_port:6379 # 主节点的端口 master_link_status:up # up为主从同步正常 master_last_io_seconds_ago:9 master_sync_in_progress:0 slave_repl_offset:1420 slave_priority:100 slave_read_only:1 connected_slaves:0 master_repl_offset:0 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0
4. Mysqlサーバー構成
2 つの mysql サーバー (マスターとスレーブが 1 つ) があります。設定ファイルが異なるだけで、他のプロセスは同じです。
ntpdate 172.18.0.1iptables -f
mariadb のインストール
yum install mariadb # # #运行初始化脚本对mysql进行 cd /usr/local/mysql/bin mysql_secure_installation #mysql初始化脚本,以下为每一项的翻译 先回车 是否设置root密码 输入密码 确认密码 是否设置匿名用户 是否允许root远程登录 删除test数据库 现在是否生效
mysql マスター サーバーの設定
マスターとスレーブの同期ではバイナリ ログを有効にする必要があり、設定ファイルの変更には 2 つのポイントがあります。
shell > vim /etc/my.cnf server-id=1 #节点id log-bin=mysql-bin #指定二进制日志前缀 relay-log=mysql-relay-bin #指定relaylog日志前缀 replicate-wild-ignore-table=mysql.% #排除要复制的表 replicate-wild-ignore-table=test.% replicate-wild-ignore-table=information_schema.%
スレーブ サーバーがメイン サーバーのデータをコピーする権限を持つように、メイン サーバーの行に許可されたユーザーを作成します。許可されたユーザーは最小特権の法則に適合する必要があり、接続を許可する IP アドレスが正確であればあるほど良いです。
musql > grant replication slave on *.* to 'slave_user'@'10.0.0.67' identified by '123456';
Mysql マスター/スレーブ構成はサーバー ID が異なるだけです
shell > vim /etc/my.cnf server-id=2 #节点id log-bin=mysql-bin #指定二进制日志前缀 relay-log=mysql-relay-bin #指定relaylog日志前缀 replicate-wild-ignore-table=mysql.% #排除要复制的表 replicate-wild-ignore-table=test.% replicate-wild-ignore-table=information_schema.%
スレーブに接続するときサーバー Mysql コマンド ライン設定では、マスター ノードの IP、ユーザー名、パスワードを設定します。最も重要なものは、master_log_file と master_log_pos です。これら 2 つの項目は、マスター ノードでの
クエリの結果であり、マスター ノードでのクエリ結果と同じである必要があります。
# 在mysql主服务器中查询结果 mariadb [(none)]> show master status\g; *************************** 1. row *************************** file: master-log.000003 position: 18893845 binlog_do_db: binlog_ignore_db:
mysql > change master to master_host='10.0.0.66', master_user='slave_user', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=106;`
アクティブな同期状況の表示
マスター/スレーブの表示スレーブサーバーの同期状況。最後の 2 行の「yes」は、マスターとスレーブの同期が成功したことを示します。テーブル、ライブラリ、さらにはデータをクエリすることで、マスターとスレーブの同期ステータスをクエリして検証することもできます。
mariadb [(none)]> show slave status\g; *************************** 1. row *************************** slave_io_state: waiting for master to send event master_host: 172.18.68.41 master_user: slave-user master_port: 3306 connect_retry: 60 master_log_file: master-log.000002 read_master_log_pos: 245 relay_log_file: mysql-relay-bin.000002 relay_log_pos: 530 relay_master_log_file: master-log.000002 slave_io_running: yes slave_sql_running: yes
デプロイ完了 ブラウザから 172.18.68.11/solo-2.4 にアクセスすると、デプロイされた Solo ブログにアクセスできます。管理者アカウントのパスワードであるユーザーパスワードを登録します。
以上がNginx+Tomcat+Redis を介して永続セッションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Centosシステムでは、Redis構成ファイルを変更するか、Redisコマンドを使用して悪意のあるスクリプトがあまりにも多くのリソースを消費しないようにすることにより、LUAスクリプトの実行時間を制限できます。方法1:Redis構成ファイルを変更し、Redis構成ファイルを見つけます:Redis構成ファイルは通常/etc/redis/redis.confにあります。構成ファイルの編集:テキストエディター(VIやNANOなど)を使用して構成ファイルを開きます:sudovi/etc/redis/redis.conf luaスクリプト実行時間制限を設定します。

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

公式Redisソースからソースコードパッケージをダウンロードして、コンパイルしてインストールして、最新の安定したバージョンを確保し、パーソナライズされた方法でカスタマイズできます。特定の手順は次のとおりです。ソフトウェアパッケージリストを更新してRedisディレクトリを作成するRedisソースコードパッケージをダウンロードしてソースコードパッケージを解凍し、インストール構成をコンパイルし、Redis構成を変更してRedisの起動ステータスを確認します

nginxをApacheを実行するには、次のことが必要です。1。nginxとapacheをインストールします。 2。nginxエージェントを構成します。 3。nginxとapacheを起動します。 4.構成をテストして、ドメイン名にアクセスした後にApacheコンテンツを確認できることを確認します。さらに、ポート番号マッチング、仮想ホスト構成、SSL/TLS設定など、他の問題に注意を払う必要があります。

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。
