Rumah >pangkalan data >Redis >Bagaimana untuk melaksanakan sesi berterusan melalui Nginx+Tomcat+Redis
Persekitaran penggunaan
centos7
nginx1.10.2
tomcat7.0
redis3.2.3
mariadb 5.5.44
commons-pool2-2.2.jar
tomcat-redis-session- manager- 2.0.0.jar
blog solo
Persediaan sebelum pemasangan
ntpdate 172.18.0.1
Pasang nginx
yum pasang nginx
Ubah suai fail konfigurasi
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
<.>
Apabila memulakan pelayan, semak sama ada port 80 mendengar secara normal
ss -ntl
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
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
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
Konfigurasikan reids sambungan tomcat
commons-pool2-2.2.jar jedis-2.5.2.jar tomcat-redis-session-manager-2.0.0.jarAlamat 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.jarUbah 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" />
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 -fPasang 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 # 设定连接的密码
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 # 从节点为只读
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:04. Konfigurasi pelayan MySQL
Persediaan sebelum pemasangan
ntpdate 172.18.0.1iptables -f
yum install mariadb
#
#
#运行初始化脚本对mysql进行
cd /usr/local/mysql/bin
mysql_secure_installation #mysql初始化脚本,以下为每一项的翻译
先回车
是否设置root密码
输入密码
确认密码
是否设置匿名用户
是否允许root远程登录
删除test数据库
现在是否生效
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.%
musql > grant replication slave on *.* to 'slave_user'@'10.0.0.67' identified by '123456';
Konfigurasi pelayan hamba MySQL
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.%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:Konfigurasikan pelayan hamba mysql
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;`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: yesPengerahan 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!