Rumah > pangkalan data > Redis > teks badan

Bagaimana untuk melaksanakan sesi berterusan melalui Nginx+Tomcat+Redis

WBOY
Lepaskan: 2023-05-28 08:37:05
ke hadapan
870 orang telah melayarinya

Persekitaran penggunaan

centos7
nginx1.10.2
tomcat7.0
redis3.2.3
mariadb 5.5.44

Pakej yang diperlukan


commons-pool2-2.2.jar

jedis-2.5.2.jar

tomcat-redis-session- manager- 2.0.0.jar

blog solo


Bagaimana untuk melaksanakan sesi berterusan melalui Nginx+Tomcat+Redis

1 >

Persediaan sebelum pemasangan
ntpdate 172.18.0.1

iptables -f

Pasang nginx



yum pasang nginx

Ubah suai fail konfigurasi


upstream tomcatservers: Buat kumpulan pelayan belakang dan tambah

lokasi di dalam http: Padankan url dan tambahkan di dalam pelayan Nota: Elips adalah parameter lalai yang lain, hanya tekan lalai

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
Salin selepas log masuk

Periksa port


<. 🎜>
Apabila memulakan pelayan, semak sama ada port 80 mendengar secara normal

ss -ntl

2 🎜>

Dua Konfigurasi pelayan tomcat adalah sama. Ulangi langkah berikut pada kedua-dua hos


Persediaan sebelum pemasangan

ntpdate 172.18.0.1iptables -f

Pasang tomcat

yum pasang tomcat



Kerahkan solo

.pakej perang disalin ke direktori webapps Mulakan semula tomcat selepas memuat turun, dan tomcat akan menyahmampat failnya secara automatik

cp solo-2.4.1.war /usr/share/tomcat/webapps/
systemctl restart tomcat
Salin selepas log masuk


Konfigurasikan solo

serverhost ialah nama domain atau IP pengimbangan beban bahagian hadapan, jika ia muncul selepas penggunaan selesai Apabila sumber statik tidak dapat dimuatkan, biasanya terdapat sesuatu yang tidak kena di sini.

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
Salin selepas log masuk

Konfigurasikan solo untuk menyambung ke mysql

Bahagian masa jalan h2 digunakan secara solo secara lalai Selepas mengulasnya secara manual, nyahkomen bahagian masa jalan mysql .

Tetapkan nama pengguna dan kata laluan mysql, dan kemudian tukar 172.18.68.41 kepada alamat ip mysql (utama).

#### 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
Salin selepas log masuk

Konfigurasikan reids sambungan tomcat

reids sambungan tomcat memerlukan 3 pakej perisian:


commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manager-2.0.0.jar
Salin selepas log masuk

Alamat muat turun

Salin pakej jar yang diperlukan ke /usr/share/tomcat/lib/

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
Salin selepas log masuk
Ubah suai fail contest.xml dan tambahkan dua baris berikut pada fail.

ip ialah alamat redisip, dan port ialah port yang redis dengar pada

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" />
Salin selepas log masuk

Mulakan semula tomcat

systemctl restart tomcat


3. Konfigurasi pelayan Redis

Terdapat dua pelayan redis secara keseluruhan, satu tuan dan satu hamba. Hanya fail konfigurasi berbeza, proses lain adalah sama.


Persediaan sebelum pemasangan

ntpdate 172.18.0.1
iptables -f
Salin selepas log masuk
Pasang redis

yum install redis

Konfigurasi nod induk Redis

Nod induk hanya mengkonfigurasi ip, port pendengaran dan kata laluan sambungan

vim /etc/redis.conf
bind 0.0.0.0       # 监听所有ip
port 6379        # 设定监听的端口
requirepass 123456      # 设定连接的密码
Salin selepas log masuk


konfigurasi nod hamba redis

Nod hamba ditetapkan kepada baca sahaja

bind 0.0.0.0       # 监听所有ip
slaveof 172.18.68.31 6379    # 设定主节点的ip+端口
masterauth 123456      # 主节点的连接密码
slave-read-only yes      # 从节点为只读
Salin selepas log masuk

Sahkan bahawa konfigurasi tuan-hamba berjaya

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
Salin selepas log masuk
4. Konfigurasi pelayan MySQL

Terdapat dua pelayan mysql, satu induk dan satu hamba. Hanya fail konfigurasi berbeza, proses lain adalah sama.

Persediaan sebelum pemasangan

ntpdate 172.18.0.1iptables -f

Pasang mariadb

yum install mariadb
#
#
#运行初始化脚本对mysql进行
cd /usr/local/mysql/bin
mysql_secure_installation   #mysql初始化脚本,以下为每一项的翻译
 先回车
 是否设置root密码
 输入密码
 确认密码
 是否设置匿名用户
 是否允许root远程登录
 删除test数据库
 现在是否生效
Salin selepas log masuk

Konfigurasi pelayan induk MySQL



Penyegerakan induk-hamba mesti mendayakan log binari, dan terdapat dua perkara dalam mengubah suai fail konfigurasi.

1.server-id mestilah tidak bercanggah

2. Cipta pengguna yang dibenarkan pada pelayan utama untuk memberi kebenaran replikasi kepada pengguna.

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.%
Salin selepas log masuk

Buat pengguna yang dibenarkan pada baris pelayan induk supaya pelayan hamba mempunyai kebenaran untuk menyalin data pelayan induk. Pengguna yang dibenarkan harus sepadan dengan undang-undang yang mempunyai keistimewaan yang paling rendah, dan lebih tepat alamat IP yang dibenarkan untuk disambungkan, lebih baik.

musql > grant replication slave on *.* to 
 &#39;slave_user&#39;@&#39;10.0.0.67&#39; identified by &#39;123456&#39;;
Salin selepas log masuk


Konfigurasi pelayan hamba MySQL


Konfigurasi master-slave mySQL hanya berbeza dalam server-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.%
Salin selepas log masuk

Apabila menyambung ke konfigurasi baris arahan pelayan hamba Mysql, konfigurasikan IP, nama pengguna dan kata laluan nod induk. Yang paling penting ialah master_log_file dan master_log_pos Kedua-dua item ini adalah hasil pertanyaan

pada nod induk, dan ia mestilah sama dengan hasil pertanyaan nod induk.

# 在mysql主服务器中查询结果
mariadb [(none)]> show master status\g;
*************************** 1. row ***************************
  file: master-log.000003
  position: 18893845
  binlog_do_db: 
  binlog_ignore_db:
Salin selepas log masuk
Konfigurasikan pelayan hamba mysql

mysql > change master to 
master_host=&#39;10.0.0.66&#39;,
master_user=&#39;slave_user&#39;,
master_password=&#39;123456&#39;,
master_log_file=&#39;mysql-bin.000001&#39;,
master_log_pos=106;`
Salin selepas log masuk

Lihat status penyegerakan aktif

Lihat hamba induk dalam situasi Penyegerakan pelayan hamba. Ya dalam dua baris terakhir menunjukkan bahawa penyegerakan tuan-hamba berjaya. Anda juga boleh bertanya dan mengesahkan status penyegerakan induk-hamba dengan menanyakan jadual, perpustakaan dan juga data.

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
Salin selepas log masuk
Pengerahan selesai

Anda boleh mengakses blog solo yang digunakan dengan mengakses 172.18.68.11/solo-2.4 melalui penyemak imbas Apabila anda masuk buat kali pertama, anda akan ditanya untuk mendaftarkan kata laluan pengguna, iaitu kata laluan akaun.

Pada ketika ini, tidak kira bagaimana nginx dijadualkan, tomcat boleh menyimpan sesi klien dalam redis. Anda boleh menggunakan perisian pengurusan redis windwos untuk melihat bahawa terdapat maklumat sesi dalam kedua-dua pangkalan data redis master dan slave.


Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sesi berterusan melalui Nginx+Tomcat+Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan