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

[经验分享] LINUX——Nginx反代至双Tomcat(LNMT、LAMT),负载均衡中动静分离的使用

[复制链接]

尚未签到

发表于 2018-12-5 13:00:02 | 显示全部楼层 |阅读模式
  lnmt架构
http://i2.运维网.com/images/blog/201809/06/1be753faaa1d40d000a058408980bc3a.jpg
环境布置:
配置安装163的源

[root@localhost ~]# cd /etc/yum.repos.d/
//创建备份目录
[root@localhost yum.repos.d]# mkdir /etc/repo-bf
//将原yum仓库的文件备份到repo-bf
[root@localhost yum.repos.d]# mv * /etc/repo-bf
//下载163的源到yum仓库
[root@localhost yum.repos.d]# curl -o 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
//将改为版本的7
[root@localhost yum.repos.d]# sed -i 's/\$releasever/7/g' /etc/yum.repos.d/163.repo
[root@localhost yum.repos.d]# sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/163.repo
//自动配置yum的软件仓库,也可以自己配置
[root@localhost yum.repos.d]# yum -y install epel-release
[root@localhost yum.repos.d]# yum clean all
//安装编译环境
[root@localhost yum.repos.d]# yum -y install gcc gcc-c++
[root@localhost yum.repos.d]# yum -y install wget
  tomcat项目部署
java环境安装

[root@localhost yum.repos.d]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
  //查看安装的版本

[root@localhost yum.repos.d]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
  tomcat部署
下载tomcat,在官网下载
这里是下载核心的

[root@localhost yum.repos.d]# cd /usr/src/
[root@localhost src]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.11/bin/apach
mcat-9.0.11.tar.gz
  //解压部署,只需要解压无需安装


//解压部署,只需要解压无需安装
[root@localhost src]# ls
apache-tomcat-9.0.11.tar.gz debug  kernels
解压到/usr/local/
[root@localhost src]# tar xf apache-tomcat-9.0.11.tar.gz -C /usr/local/
将解压后的tomcat包的软件接,命名tomcat
[root@localhost src]# cd /usr/local
[root@localhost local]# ln -s apache-tomcat-9.0.11/ tomcat
[root@localhost local]# ls
apache-tomcat-9.0.11  bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat
[root@localhost local]# ll           //软连接
lrwxrwxrwx. 1 root root  20 9月   5 12:03 tomcat -> apache-tomcat-9.0.8/      
因为是java程序,一般服务器内存至少8-16g ,并且tomcat在一台服务器上不可能只跑一个               
进入tomcat包配置,以及介绍
[root@localhost local]# cd tomcat/
[root@localhost tomcat]# ls
bin     //二进制程序位置
startup.sh-启动的脚本
startdown.sh-停止的脚本
catalina.sh -控制启动和停止
configtest.sh -检查配置文件有无错误
----
conf       //配置文件
server.xml  //运行了两个则需要修改端口号
-----
lib   
-----
logs    //日志目录
README.md   
RUNNING.txt  
-----
webapps    //程序与网页都放这java的,在发版时,就是把开发的包放在这里,解压出来
开发写的war包里哪里需要配置需要问开发,例:classes/config.properties配置程序参数
BUILDING.txt  
CONTRIBUTING.md  
LICENSE  
NOTICE  
RELEASE-NOTES
temp         
work
  //在webapps里创建一个目录并且在目录里编辑网页,写一个 hello worid 的java界面

[root@localhost local]# cd webapps/
[root@localhost webapps]# mkdir test
[root@localhost webapps]# cd test
[root@localhost test]# vim index.jsp
[root@localhost test]# cat index.jsp


test page





  启动

//检查
[root@localhost webapps]# /usr/local/tomcat/bin/configtest.sh
//启动
[root@localhost webapps]# /usr/local/tomcat/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost webapps]# ss -anlt
State      Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
LISTEN     0      100                    :::8080                               :::*                              
LISTEN     0      1        ::ffff:127.0.0.1:8005                               :::*                  
LISTEN     0      100                    :::8009                               :::*      


再次回到tomcat包的目录
[root@localhost local]# cd /usr/src/
解压并将解压后的文件移动到/usr/local/,重命名为apache-tomcat-9.0.11-tom2
[root@localhost src]# tar xf apache-tomcat-9.0.11.tar.gz
[root@localhost src]# mv apache-tomcat-9.0.11 /usr/local/apache-tomcat-9.0.11-tom2
将解压后的apache-tomcat-9.0.11-tom2包创建软件接,命名tomcat2
[root@localhost src]# cd /usr/local
[root@localhost local]# ln -s apache-tomcat-9.0.11-tom2/ tomcat2
[root@localhost local]# ls
apache-tomcat-9.0.11       bin  games    lib    libexec  share  tomcat
apache-tomcat-9.0.11-tom2  etc  include  lib64  sbin     src    tomcat2
[root@localhost local]# ll           //软连接
  进入webapps,并配置网页,在启动tomcat2

先修改端口配置
[root@localhost local]# cd tomcat2/conf
[root@localhost conf]# ls
catalina.policy      context.xml           jaspic-providers.xsd  server.xml        tomcat-users.xsd
catalina.properties  jaspic-providers.xml  logging.properties    tomcat-users.xml  web.xml
[root@localhost conf]# vim server.xml        //在原有的端口稍作改变即可

/etc/profile.d/nginx.sh
[root@localhost nginx-1.14.0]# . /etc/profile.d/nginx.sh
//启动
[root@localhost nginx-1.14.0]# nginx
  nginx的配置文件
主配置文件 /usr/local/nginx/conf/nginx.conf
2.安装mysql

//安装依赖包
[root@guohui ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel
创建用户和组
[root@guohui ~]# groupadd -r -g 306 mysql
[root@guohui ~]# useradd -M -s /sbin/nologin -g 306 -u 306 mysql
  下载二进制格式的mysql软件包

[root@localhost ~]# cd /usr/src/
[root@guohui src]# wget https://downloads.mysql.com/archives/get/file/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
解压软件至/usr/local/
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
debug  kernels  mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  nginx-1.14.0  nginx-1.14.0.tar.gz
[root@localhost src]# tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@localhost src]# ls  /usr/local/
bin  etc  games  include  lib  lib64  libexec  mysql-5.7.22-linux-glibc2.12-x86_64  nginx  sbin  share  src
[root@localhost src]# cd  /usr/local/
[root@localhost local]# ln -sv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
"mysql" -> "mysql-5.7.22-linux-glibc2.12-x86_64/"
//修改属主
[root@localhost local]# chown -R mysql.mysql /usr/local/mysql
[root@localhost local]# ll /usr/local/mysql -d
lrwxrwxrwx. 1 mysql mysql 36 8月  24 16:13 /usr/local/mysql -> mysql-5.7.22-linux-glibc2.12-x86_64/
//设置环境变量
[root@localhost local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@localhost local]# . /etc/profile.d/mysql.sh
[root@localhost local]# echo $PATH
/usr/local/mysql/bin:/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
//建立数据存放目录
[root@localhost local]# cd /usr/local/mysql
[root@localhost mysql]# mkdir /opt/data
[root@localhost mysql]# chown -R mysql.mysql /opt/data/
//初始化数据库,最后生成的是一个临时密码
[root@localhost mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/data/
2018-09-05T09:17:21.026072Z 1 [Note] A temporary password is generated for root@localhost: ?3/(1tqF=gwu
  配置mysql

[root@localhost mysql]# ln -sv /usr/local/mysql/include/ /usr/local/include/mysql
"/usr/local/include/mysql" -> "/usr/local/mysql/include/"
[root@localhost mysql]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
[root@localhost mysql]# ldconfig -v
//生成配置文件
[root@guohui ~]# cat > /etc/my.cnf  quit
[root@localhost nginx-1.14.0]# cd /usr/local/nginx/
配置nginx实现动静分离
[root@localhost nginx]# vim conf/nginx.conf
keepalive_timeout  65;
upstream web {
server 192.168.56.11:8080;              //设置web设置集群,实行负载均衡,tomcat网站192.168.56.11:8080和tomcat网站192.168.56.11:8081
server 192.168.56.11:8081;
}
server {
listen       80;
server_name  localhost;
access_log  logs/host.access.log  main;
location ~* \.(do|jsp)$ {
proxy_pass http://web;
}
location ~* tomcat\.(png|css)$ {
proxy_pass http://web;
}
location / {
root   html;
index index.html index.htm;
}
}
//测试            
[root@localhost nginx]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx]# nginx -s reload
  浏览器测试,负载均衡达成,如需要每个ip访问的网页不变,则可以在 upstream web中加入ip_hash
静态资源访问nginx
http://i2.运维网.com/images/blog/201809/06/b60565e40d70d636b0f2f17ed1930cc9.jpg
动态资源访问tomcat
http://i2.运维网.com/images/blog/201809/06/71d21b2660d2a47fd491011fe268bf7b.jpg
之前创建的test
http://i2.运维网.com/images/blog/201809/06/1a776173566401c29d72dc249c8d694d.jpg
刷新
http://i2.运维网.com/images/blog/201809/06/800880a2182708ec14d540b291ee2aae.jpg




运维网声明 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.yunweiku.com/thread-643661-1-1.html 上篇帖子: 服务器nginx+tomcat配置(通过域名直接访问到Javaweb) 下篇帖子: nginx+tomcat 实现动静分离、负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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