赞
踩
需求说明: 当用户完成图片上传之后 会根据网络地址访问图片,但是查找的图片一定存在于磁盘中.
URL地址: http://image.jt.com/2021/12-16/f9981c76-e6a7-49fa-88d9-3be0851dbf50.jpg
磁盘地址: R:/project3/images/2021/12/16/f9981c76-e6a7-49fa-88d9-3be0851dbf50.jpg
技术难点:
1.当用户访问URL网络地址时,应该按照磁盘地址进行查找
如何将网络地址转化为磁盘地址?
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
1.反向代理服务器介于用户和目标服务器之间
2.用户从反向代理服务器获取资源, 用户以为反向代理服务器就是目标服务器.
3.用户不清楚真实的服务器到底是谁, 保护了真实服务器的信息. 也称之为 “服务器端代理”
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
1.正向代理服务器介于客户端和原始服务器之间.
2.用户访问正向代理服务器,并且指定目标服务器地址.
3.服务器端不清楚到底是谁访问的,以为是正向代理服务器访问的. 保护了用户信息. 也称之为客户端代理.
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.nginx时一款开源免费轻量级的反向代理服务器/web服务器。
2.nginx并发能力强 理论值:五万次/秒 实际值:三万次/秒 tomcat:150个-220个->1000个/秒
3.nginx占用内存少 不超过2MB tomcat:内存占用200MB
URL:http://nginx.org/en/download.html
说明:
1.nginx启动会占用80端口
2.nginx启动路径不能有中文/空格/特殊字符,底层开发为
c语言。
访问测试:localhost:80
如果80端口 被PID=4占用,则需要升级驱动配置,如果输入localhost:80是IIS界面,修改注册表无效,需要执行一下操作:
1.尝试停用IIS:右键“我的电脑”->“管理”->“服务”->“服务和应用程序”->“IIS” 在IIS面板中停用IIS。
2.输入以下命令,关掉http服务
C:\WINDOWS\system32>net stop http
C:\WINDOWS\system32>netstat -ano | findstr 0.0.0.0:80
C:\WINDOWS\system32>sc config http start=disabled
启动nginx:start nginx
重启nginx:nginx -s reload
关闭nginx:nginx -s stop
一个**http块可以包含多个server**块
一个server块可以包含多个location块
http{ #每个反向代理服务,就是一个server server{ #nginx默认监听端口号 是80 listen 80; #nginx要拦截的域名 server_name localhost; #拦截所有请求 location / { #root代表代理的是一个目录 root html; #配置默认访问的首页 index index.html index.htm; } } }
不能为只读
检查权限
修改hosts文件
编译完成之后准备发布
将dist文件夹复制到nginx根目录下
需求:用户通过http://web.jt.com 访问 dist/insex.html
配置代理
重启nginx,输入web.jt.com
命令:java -jar 8091.jar
重启nginx,输入manage.jt.com/getPort测试一下
说明: 分别准备3台tomcat服务器 端口号分别为8091/8092/8093
勾选其中的选项 ,可以平行运行多个进程
说明: 按照配置文件的顺序 依次访问
说明: 可以根据服务器性能,灵活的设置配比
说明: 如果需要让用户与服务器进行绑定. 则使用IPHASH
1.down属性 如果down属性标识了服务器,则nginx不会再次访问该服务器
2.backup属性 设置备用机, 正常情况下,备用机不会被访问,但是当主机遇忙时/或者宕机时,备用机才会被访问
说明:
1.首先需要制定上线计划 分批次上线部署。
2.首先可以先将一部分服务器down掉,之后替换新的jar包,重启服务器,测试通过之后,nginx正式接通。
3.重复执行多次,直至项目部署完成为止。
nginx启动的速度很快,所以几乎对用户没有影响.
mkdir a 常见文件夹
vim a.txt 创建a文件
输入 i 进行插入数据,先点esc,在输入:wq保存退出
底行模式 shift+:
不保存退出 :q!
esc->u 撤回输入内容
rmdir a 删除文件夹
rm a.txt 删除文件
rm -f a.txt 不提示删除文件
rm -rf a 强制删除,可以删除目录
rm -rf * 删除所有文件
rm -rf /* 删除所有目录和文件
cat a.txt 查看文件内容
cp a.txt c.txt 将a.txt复制一份为c.txt
cp -r a b 将a文件夹复制一份为b文件夹
mv a.txt aa 将a.txt移动到aa文件夹中
mv c.txt cc.txt 将c.txt文件改名为cc.txt
改名为jdk1.8
编辑:vim /etc/profile
可查看配置内容
环境变量生效:
1.重启linux服务器
2.刷新环境变量source /etc/profile
[root@localhost src]# yum install mariadb-server 安装mariadb数据库
[root@localhost src]# yum clean all 清空已安装文件 如果下载失败之后执行的
1. 启动命令 [root@localhost src]# systemctl start mariadb
2. 重启命令 [root@localhost src]# systemctl restart mariadb
3. 关闭命令 [root@localhost src]# systemctl stop mariadb
4. 设定开机自起 [root@localhost src]# systemctl enable mariadb
5. 关闭开机自起 [root@localhost src]# systemctl disable mariadb
命令: mysql_secure_installation
回车设置密码,我这是root
- 如果需要远程链接数据库必须通过防火墙。
- 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接。
命令: firewall-cmd --state
说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!
需求: 告诉linux系统以后开机需不需要启动防火墙
命令:
systemctl disable firewalld.service
systemctl enable firewalld.service
说明:通过命令手动将防火墙关闭
命令:
- systemctl stop firewalld.service
- systemctl start firewalld.service
1.检查防火墙开放的端口
firewall-cmd --list-ports
2.检查端口是否开放
firewall-cmd --query-port 80/tcp
3.开启防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
4.移除端口
firewall-cmd --zone=public --remove-port=9090/tcp --permanent
5.关于防火墙操作的解释
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–remove-port=80/tcp #移除端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
6.重启防火墙
firewall-cmd --reload
请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的。
系统内部要访问外部网络时,统一通过一个代理服务器把请求转发出去,在外部网络看来就是代理服务器发起的访问,此时代理服务器实现的是正向代理;当外部请求进入系统时,代理服务器把该请求转发到系统中的某台服务器上,对外部请求来说,与之交互的只有代理服务器,此时代理服务器实现的是反向代理。简单来说,正向代理是代理服务器代替系统内部来访问外部网络的过程,反向代理是外部请求访问系统时通过代理服务器转发到内部服务器的过程。如图所示
Linux项目部署
命令:java -jar linux8091.jar
测试启动是否正常:
http://192.168.126.129:8091/getPort
前端运行的弊端:
命令:nohup java -jar linux8091.jar =>linux8091.log &
说明:将运行的方式改为后台运行,所有日志输出端到linux8091.log,查看日志cat linux8091.log
Linux 查看端口占用情况:
java进程的命令:
关闭进程:
linux查看.log文件的日志情况:
命令格式: tail[必要参数][选择参数][文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
用法,例:
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
tail -fn 10 test.log 循环实时查看最后1000行记录(最常用的)
如果一次性查询的数据量太大,可以进行翻页查看,例如:
tail -n 4700 aa.log |more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)
说明:Linux常见的脚本 shell脚本 以xxx.sh结尾
编辑脚本:vim start.sh
启动脚本:sh start.sh
说明:在nginx-source的根目录中执行如下命令,需要提前安装nginx的依赖项
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
1../configure
3.根目录中执行 make install
1.启动命令: ./nginx
2.重启命令: ./nginx -s reload
3.关闭命令: ./nginx -s stop
#配置图片代理 image.jt.com server { listen 80; server_name image.jt.com; location / { root /usr/local/src/images; } } #配置前端代理 www.jt.com server { listen 80; server_name www.jt.com; location / { root dist; index index.html; } } #配置后台服务器集群 upstream tomcats{ server 192.168.126.129:8091; server 192.168.126.129:8092; server 192.168.126.129:8093; } #配置后端代理 manage.jt.com server { listen 80; server_name manage.jt.com; location / { proxy_pass http://tomcats; } }
上传之后重启nginx服务
#图片服务器配置
#127.0.0.1 image.jt.com
192.168.126.129 image.jt.com
#前端服务器配置
#127.0.0.1 web.jt.com
192.168.126.129 web.jt.com
#后端服务器配置
#127.0.0.1 manage.jt.com
192.168.126.129 manage.jt.com
后端测试:测试地址: http://manage.jt.com/rights/getRightsList
前端测试:测试地址: http://web.jt.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。