Nginx的使用步骤
1、在项目的resource/properites下创建image.properties,并添加配置文件
image.fileLocalDir=E:/PgInfo/Stage_fourth/images
image.urlPath=http://image.jt.com
2、编辑FileServiceImpl
@Service
@PropertySource("classpath:/properties/image.properties")
public class FileServiceImpl implements FileService {
@Value("${image.fileLocalDir}")
private String fileLocalDir; //= "E:/PgInfo/Stage_fourth/images";
@Value("${image.urlPath}")
private String urlPath; //= "http://image.jt.com";
3、下载Nginx,根据电脑系统选择版本
4、Nginx安装,之后,对nginx.exe右键以管理员身份运行,之后程序闪退表示服务器启动正常.
5、检查Nginx服务启动项,nginx启动时,会启动2个进程项,有两个
1.主进程:主要为用户提供反向代理服务,占用内存大
2.守护进程:防止主进程意外关闭的.,占用内存小的
流程为:对准任务栏右键–>选择任务管理器—>详细信息–>找到两个nginx.exe
6、启动正常测试
7、入门案例说明
配置文件说明
#一个反向代理就是一个server
server {
#监听的端口号
listen 80;
#监听的域名
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#进行反向代理的配置 / 拦截路径
location / {
#root关键字 ,代表磁盘的地址
root html;
#index 关键字默认的欢迎页面
index index.html index.htm;
}
8、nginx实现图片回显
编辑Nginx.conf文件
#配置图片代理服务器
server{
listen 80;
server_name image.jt.com;
location / {
root E:/PgInfo/Stage_fourth/images;
}
}
9、nginx命令
目录: 在nginx的根目录中执行,在显示路径的框中输入cmd,会出现一个黑窗口
命令
1.启动命令 start nginx
2.重启命令 nginx -s reload
3.停止命令 nginx -s stop
10、编辑hosts文件
HOSTS文件是操作系统为了方便开发,在本地形成的一个域名与IP的映射的文件. 但是该文件只对本机有效.
位置: C:\Windows\System32\drivers\etc\hosts
10.1 文件中内容添加如下命令
#IP 域名 映射关系
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
127.0.0.1 www.jt.com
127.0.0.1 sso.jt.com
127.0.0.1 localhost
10.2 实现域名的处理
需要通过http://manage.jt.com域名访问localhost:1001的服务器,1001为自己的项目端口
操作:
1.修改hosts文件
2.修改nginx的配置文件
修改nginx.conf配置文件
#配置商品后台服务器
server{
listen 80;
server_name manage.jt.com;
location / {
#代理真实服务器地址
#proxy_pass http://localhost:1001;
#映射到集群
proxy_pass http://jtWindows;
}
}
11、动态获取服务器端口号.
请求路径: http://manage.jt.com/getPort 获取到当前的服务器端口号信息,在controller下创建PortController
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PortController {
@Value("${server.port}")
private String port;
/**
* 获取端口号信息
*/
@RequestMapping("/getPort")
public String getPort() {
return "当前访问的服务器的端口号为:" + port;
}
}
12、项目打包
利用maven方式打包
说明:修改各自的端口号,之后将项目打包,方式为war包
12.1 利用压缩工具打包
将xxx.war改为xxx.zip 之后利用压缩工具修改配置文件,之后再次改为xxx.war即可
在路径框中输入cmd,输入命令 java -jar 1001.war, java -jar 1002.war, java -jar 1002.war,之后就会看到tomcat的正常启动
输入的路径为:localhost:1001/getPort
13、nginx负载均衡测试
13.1 轮询策略
说明: 按照nginx.conf中配置文件的顺序依次访问,重新反复刷新浏览器,就会看到属性所带来的的效果
#配置商品后台服务器
server{
listen 80;
server_name manage.jt.com;
location / {
#代理真实服务器地址
#proxy_pass http://localhost:1001;
#映射到集群
proxy_pass http://jtWindows;
}
}
#配置tomcat服务器集群 1.默认 轮询策略
upstream jtWindows {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
13.2 权重策略
说明: 由于公司的物理服务器可能性能有高有低,为了让高性能的服务器处理更多的数据.
#配置tomcat服务器集群
#1.默认 轮询策略
#2.权重策略 3.ip_hash策略
upstream jtWindows {
ip_hash;
server 127.0.0.1:8081 weight=6;
server 127.0.0.2:8082 weight=3;
server 127.0.0.3:8083 weight=1;
}
13.3 down属性
说明:backup表示备用机.正常情况下,该服务器不会为用户提供服务.但是当服务器宕机,或者服务器正忙时,才会访问该服务器.
#配置tomcat服务器集群 1.默认 轮询策略 2.权重策略 3.ip_hash策略
upstream jtWindows {
#ip_hash;
server 127.0.0.1:8081 down;
server 127.0.0.1:8082 down;
server 127.0.0.1:8083 backup;
}
13.4 tomcat服务器高可用机制
高可用: 当服务器发生故障时,通过某种机制可以自动的实现故障的迁移,从而使得用户不受任何的影响.
#配置tomcat服务器集群 1.默认 轮询策略 2.权重策略 3.ip_hash策略
upstream jtWindows {
#ip_hash; down 标识宕机 backup 备用机
#max_fails=1 表示最大的失败次数
#fail_timeout=60s 如果访问不通,则在60秒内,不会再次访问故障机
server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;
}