设为首页 收藏本站
查看: 1471|回复: 0

[经验分享] nginx+tomcat+php(tomcat的session共享设置)

[复制链接]

尚未签到

发表于 2018-11-10 14:15:59 | 显示全部楼层 |阅读模式
  名称:nginx+tomcat+redis+php
  mail:maishujie_dj@163.com
  -------------------------------------------------------------------------------------
  设置ip 192.168.1.26    解析域名     www.egaosi.com
  安装redis软件
  用户设置  添加用户gaosilive,解决研发部门上传的问题  ssh的问题
  目录权限  /opt/tomcat1/webapps  /opt/tomcat2/webapps  /opt/tomcat3/webapps
  /usr/local/nginx/conf/nginx.conf  /data
  目录设置:
  软件目录               /data/tool(长期保存)
  安装目录               根据软件情况定制
  程序上传目录           /opt/tomcat1/ webapps
  备份程序目录           /data/backup/system(程序保存一周)
  备份数据库目录        /data/backup/mysql(长期保存)
  软件部署:所需软件:
  jdk-7u67-linux-x64(jdk软件,版本1.6.67)
  nginx(分发软件,版本1.6)
  apache-tomcat-7.0.54(版本1.7.0.54)
  mysql-5.5.37(数据库软件,版本5.5.37)
  redis-2.6.17(缓存,版本2.6.17)
  --------------------------------------------------------------------------------
  ##Jdk安装
  rpm –ivh  jdk-7u67-linux-x64.rpm
  vi /root/.bash_profile
  添加内容
  JAVA_HOME=/usr/java/jdk1.7.0_67
  PATH=$JAVA_HOME/bin:$PATH
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  export JAVA_HOME
  export PATH

  export>  #使变量文件生效
  source /root/.bash_profile
  测试:java  –version
  ##Tomcat安装
  #安装目录 /opt
  #解压tomcat,并复制到/opt下
  tar zxf apache-tomcat-7.0.54.tar.gz
  cp -a apache-tomcat-7.0.54 /opt/ tomcat1,端口为8080
  cp -a apache-tomcat-7.0.54 / opt /tomcat2  端口为8081
  cp -a apache-tomcat-7.0.54 / opt /tomcat2   端口为8081
  具体端口为
  tomcat配置文件为
  #具体设置:
  tomcat1/conf/server.xml修改内容:以下tomcat的三个端口
  shutdown端口:
  http端口:
  AJP端口:tomcat2的配置
  ##sessiong共享
  加入redis的lib包commons-pool-1.6、jedis-2.1.0、tomcat-redis-session-manager-1.2-tomcat-7
  #配置文件
  #####################server.xml########################################################
  
  
  
  
  
  

    

    

  
  
    
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

    

    resourceName="UserDatabase"/>
  
  

    
  
  

    prefix="localhost_access_log." suffix=".txt"
  pattern="%h %l %u %t "%r" %s %b" />
  
  
  
  
  ####context.xml##############################################
  
  
  
  
  
  WEB-INF/web.xml
  
  
  
  

  
    host="192.168.1.26"
  port="6379"
  database="0"
  maxInactiveInterval="60"/>
  
  ################context.xml############jndi设置###########################
  
  
  
  
  
  WEB-INF/web.xml
  
  
  
  
  
  
  
  
  
  
  nginx与tomcat结合并实行分发式负载均衡
  nginx安装目录 /usr/local
  配置文件
  vi /usr/local/nginx/conf
  user  www www;
  worker_processes auto;
  error_log  /home/wwwlogs/nginx_error.log  crit;
  pid        /usr/local/nginx/logs/nginx.pid;
  #Specifies the value for maximum file descriptors that can be opened by this process.
  worker_rlimit_nofile 51200;
  events
  {
  use epoll;
  worker_connections 51200;
  multi_accept on;
  }
  http
  {
  include       mime.types;
  default_type  application/octet-stream;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 100m;
  sendfile on;
  tcp_nopush     on;
  keepalive_timeout 60;
  tcp_nodelay on;
  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 256k;
  #gzip on;
  #gzip_min_length  1k;
  #gzip_buffers     4 16k;
  #gzip_http_version 1.0;
  #gzip_comp_level 2;
  #gzip_types       text/plain application/x-javascript text/css application/xml;
  #gzip_vary on;
  #gzip_proxied        expired no-cache no-store private auth;
  #gzip_disable        "MSIE [1-6]\.";
  #limit_conn_zone $binary_remote_addr zone=perip:10m;
  ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.
  server_tokens off;
  #log format
  log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
  '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" $http_x_forwarded_for';
  upstream egaosi {
  server 127.0.0.1:8080;
  server 127.0.0.1:8090;
  server 127.0.0.1:8100;
  server 127.0.0.1:8200 backup;
  }
  server
  {
  listen 80;
  server_name www.egaosi.com egaosi.com;
  #charset koi8-r;
  #access_log  logs/host.access.log  main;
  location / {
  proxy_redirect off ;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header REMOTE-HOST $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  client_max_body_size 50m;
  client_body_buffer_size 256k;
  proxy_connect_timeout 30;
  proxy_send_timeout 30;
  proxy_read_timeout 60;
  proxy_buffer_size 256k;
  proxy_buffers 4 256k;
  proxy_busy_buffers_size 256k;
  proxy_temp_file_write_size 256k;
  proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
  proxy_max_temp_file_size 128m;
  proxy_pass    http://egaosi;
  }
  #error_page   404   /404.html;
  location /nginx_status {
  stub_status on;
  access_log   off;
  }
  location ^~ ^\/bbs {
  root /data/webRoot/bbs;
  index index.html index.htm index.php;
  }
  location ^~ ^\/bbs\/.+\.php{
  root /data/webRoot/bbs;
  include fastcgi.conf;
  fastcgi_pass unix:/tmp/php-cgi.sock;
  }
  location ~ [^/]\.php(/|$)
  {
  # comment try_files $uri =404; to enable pathinfo
  try_files $uri =404;
  fastcgi_pass  unix:/tmp/php-cgi.sock;
  fastcgi_index index.php;
  include fastcgi.conf;
  #include pathinfo.conf;
  }
  #location ~* .(gif|jpg|jpeg|png|bmp|swf)$
  #{
  #    expires      30d;
  #}
  #location ~* .(js|css)$
  #{
  #    expires      12h;
  #}
  access_log  /home/wwwlogs/access.log  access;
  }
  include vhost/*.conf;
  }
  vim vhost/www.91haoke.com.conf
  server{
  listen 80;
  server_name www.91haoke.com;
  root /data/91haoke;
  index index.html index.htm index.php;
  location / {
  #            try_files  $uri  /index.php$uri;
  if (!-e $request_filename) {
  rewrite  ^/(.*)$  /index.php/$1  last;
  break;
  }
  }
  error_page 500 502 503 504 /50x.html;
  location /50x.html
  {
  root html;
  }
  location ~* \.php {
  fastcgi_pass  unix:/tmp/php-cgi.sock;
  fastcgi_index index.php;
  fastcgi_split_path_info  ^(.+\.php)(/.*)$;
  fastcgi_param  PATH_INFO $fastcgi_path_info;
  include fastcgi.conf;
  ssi on;
  ssi_silent_errors on;
  }
  location /status {
  stub_status on;
  access_log   off;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3)$
  {
  expires      30d;
  }
  location ~ .*\.(js|css)?$
  {
  expires      1h;
  }
  access_log  /home/wwwlogs/access.log access;
  }
  vim vhost/ht.tuiyou.com.conf
  server{
  listen 80;
  server_name ht.tuiyou.com;
  root /data/ceping/ht;
  index index.html index.htm index.jsp;
  error_page 500 502 503 504 /50x.html;
  location /50x.html {
  root html;
  }
  #location ~ .*.jsp$ {
  location ~ $ {
  index index.jsp;
  proxy_pass http://127.0.0.1:8082;
  }
  location /status {
  stub_status on;
  access_log   off;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|mp3)$
  {
  expires      30d;
  }
  location ~ .*\.(js|css)?$
  {
  expires      1h;
  }
  location ~ \.mp4$
  {
  #        mp4;
  }
  access_log  /home/wwwlogs/access.log access;
  }
  重启服务:/etc/init.d/nginx start
  ##Mysql安装
  mysql目录 /usr/local
  cp support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
  ##config file edit
  vim /etc/my.cnf
  skip-name-resolve=1
  cp support-files/mysql.server /etc/init.d/mysqlsource
  chmod 755 /etc/init.d/mysqlsource
  chown mysql.mysql /usr/local/mysql/ -R
  ##init mysql datadir
  sh scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  重启服务:/etc/init.d/mysqld start
  -------------------------------------------------------------------------------------------------------------
  #redis install
  tar xf redis-2.6.17.tar.gz
  cd redis-2.6.17
  make
  cd src/
  make install
  mkdir -p /usr/local/bin
  make install
  cd ..
  cp redis.conf redis6379.conf
  cp redis.conf redis6379.conf
  vi redis6379.conf
  daemonize yes
  pidfile /usr/local/redis/var/redis.pid
  port 6379
  timeout 300
  loglevel debug
  logfile /usr/local/redis/var/redis.log
  databases 16
  save 900 1
  save 300 10
  save 60 10000
  rdbcompression yes
  dbfilename dump.rdb
  dir /usr/local/redis/var/
  appendonly no
  appendfsync always
  glueoutputbuf yes
  shareobjects no
  shareobjectspoolsize 1024
  vi redis6380.conf
  aemonize yes
  pidfile /usr/local/redis/var/redis.pid
  port 6380
  timeout 300
  loglevel debug
  logfile /usr/local/redis/var/redis.log
  databases 16
  save 900 1
  save 300 10
  save 60 10000
  rdbcompression yes
  dbfilename dump.rdb
  dir /usr/local/redis/var/
  appendonly no
  appendfsync always
  glueoutputbuf yes
  shareobjects no
  shareobjectspoolsize 1024
  cd /usr/local/redis/bin/
  ./redis-server --port 6379 > /dev/null &
  ./redis-server --port 6380 > /dev/null &
  ./redis-server --port 6379 > /dev/null &
  ps aux |grep redis
  telnet 127.0.0.1 6379
  telnet 127.0.0.1 6380
  -------------------------------------------------------------------------------------------------------------
  ###备份数据
  1。Web备份
  #!/bin/bash
  DAY=`/bin/date +%Y%m%d`
  DATA_DIR=/opt/tomcat1/webapps
  BACKUP_DIR=/data/backup/system
  export DAY DATA_DIR DEL_DAY BACKUP_DIR
  if [ -d $BACKUP_DIR/$DEL_DAY ]
  then
  rm -rf $BACKUP_DIR/$DEL_DAY
  fi
  /bin/mkdir -p $BACKUP_DIR/$DAY
  cd $DATA_DIR
  for i in `ls`
  do
  if [ $i != weblog ]
  then
  cd $DATA_DIR
  tar cjf $BACKUP_DIR/$DAY/$i.tar.bz2 $i
  fi
  done
  2.    Mysql备份(长期保存)
  #!/bin/bash
  AAA=gaosilive
  mysqldump -h localhost -u root -pgaosilive $AAA > /data/backup/mysql/$AAA`date +%Y%m%d`.sql
  tomcat之间的同步问题:
  采用
  防火墙:
  防火墙设置:
  允许sshd(22)端口访问,远程登录更改端口号
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 22 -j ACCEPT
  允许ftp(21、20)端口访问
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 20 -j ACCEPT
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 21 -j ACCEPT
  允许web(80)端口访问
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 80 -j ACCEPT
  允许mysql(3306)端口访问
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 3306 -j ACCEPT
  允许redis(6379)端口访问
  iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 6379 -j ACCEPT
  测试环境部署线上环境(rsync):
  server:192.168.1.244(测试服务器)
  client:192.168.1.26(正式服务器)
  ##--------------------------------------server192.168.1.244----------------------------
  yum -y install gcc wget vim
  wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
  tar xvf  rsync-3.0.9.tar.gz && cd rsync-3.0.9
  ./configure --prefix=/usr
  make && make install
  mkdir -p /etc/rsyncd/rsyncd && cd /etc/rsyncd/rsyncd/
  touch rsyncd.conf
  touch rsyncd.secrets
  chmod 600 rsyncd.secrets
  touch rsyncd.motd
  vi /etc/rsyncd/rsyncd.conf
  # Distributed under the terms of the GNU General Public License v2
  # Minimal configuration file for rsync daemon
  # See rsync(1) and rsyncd.conf(5) man pages for help
  # This line is required by the /etc/init.d/rsyncd script
  pid file = /var/run/rsyncd.pid
  port = 873
  address =192.168.1.244
  #uid = nobody
  #gid = nobody
  uid = root
  gid = root
  use chroot = yes
  read only = yes
  #limit access to private LANs
  hosts allow=192.168.1.0/255.255.255.0
  hosts deny=*
  max connections = 5
  motd file = /etc/rsyncd/rsyncd.motd
  #This will give you a separate log file
  log file = /var/log/rsync.log
  #This will log every file transferred - up to 85,000+ per user, per sync
  #transfer logging = yes
  log format = %t %a %m %f %b
  syslog facility = local3
  timeout = 300
  [samba_data]
  path = /opt
  list=no
  ignore errors
  auth users = root
  secrets file = /etc/rsyncd/rsyncd.secrets
  vi /etc/rsyncd/rsyncd.secrets
  root:111111
  user:111111
  chown root.root rsyncd.secrets
  chmod 600 rsyncd.secrets
  vi /etc/rsyncd/rsyncd.motd
  ++++++++++++++++++++++++++++++++++++++++++++++
  Welcome to use the mike.org.cn rsync services!
  2002------2014
  ++++++++++++++++++++++++++++++++++++++++++++++
  EOF
  ### 启动rsync服务器
  /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
  ipt.9.tar.gz
  cd rsync-3.0.9
  ./configure --prefix=/usr
  makemake install
  ##在rsync客户端上查看提供了哪些可用的数据源:
  rsync -avzP rables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
  ###rsync 服务器上的所提供的同步内容在rsync服务器上查看提供了哪些可用的数据源。
  rsync --list-only root@172.16.244::samba_data
  mkdir -p /data/share/
  -----------------------rsync客户端安装192.168.1.26--------------------------------------
  wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
  tar xvf  rsync-3.0oot@172.16.5.244::samba_data
  rsync -avzP --delete root@192.168.1.26::samba_data /opt
  rsync -avzp --delete --password-file=rsync.password root@172.16.5.244::samba_data /data
  touch rsync.password
  chmod 600 rsync.passwod
  echo "111111"> rsync.password
  rsync -avzp --delete --password-file=rsync.password root@172.16.5.244::samba_data /data这样就不需要密码了
  ##在 /etc/cron.daily.rsync中创建了一个文件名为:root.sh ,并且是权限是 755。
  mkdir /etc/cron.daily.rsync
  cd /etc/cron.daily.rsync
  touch root.sh
  chmod 755 root.sh
  root.sh
  #!/bin/bash
  #172.16.5.244 samba_data backup
  /usr/bin/rsync -avzP --delete --password-file=/etc/rsyncd/rsyncroot.password root@192.168.1.26::samba_data /data/$(date +'%m-%d-%y')
  sh root.sh
  mkdir /etc/rsyncd/
  cd /etc/rsyncd/
  touch rsyncroot.password
  chmod 600 rsyncroot.password
  echo "111111" > rsyncroot.password
  service crond restart
  killall crond
  ps aux |grep crond
  /usr/sbin/crond
  ps aux  |grep crond


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-633340-1-1.html 上篇帖子: Nginx Upstream Keepalive 分析 保持长连接 下篇帖子: Nginx日志自动切割及删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表