网站打包: 项目开发完成以后,使用Maven的package命令对模块打包,
- 网站部署:网站开发并打包完成以后,需要部署到服务器上运行。网站部署方式是使用Nginx作为反向代理服务器,将网络请求转发为Web服务器Tomcat,通过Nginx的access log记录用户访问行为。
- Nginx默认配置,Nginx提供了一个默认的配置,实现了基本的功能,在进行配置之前,首先通过Nginx默认的配置文件了解Nginx配置文件的基本结构。
- 全局块:配置nginx全局指令。包括:nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,允许生成worker process的数量等。
- events块:配置nginx服务器的网络连接。主要有:每个进程的最大连接数;选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。
- http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置,如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。
- server块:配置虚拟主机的相关参数,一个http中可以有多个server。
- location块:配置请求的路由,以及各种页面的处理情况。
|
- Nginx日志格式:以Nginx的access log(访问日志)作为实时分析的数据来源
变量 | 说明 |
$remote_addr | 记录访问网站的客户端地址 |
$remote_user | 远程客户端用户名 |
$time_local | 记录访问时间与时区 |
$request | 用户的http请求起始行信息 |
$status | http状态码,记录请求返回的状态码 |
$body_bytes_sent | 服务器发送给客户端的响应body字节数 |
$http_referer | 记录此次请求是从哪个连接访问过来的 |
$http_user_agent | 记录客户端访问信息 |
$http_x_forwarded_for | 当前端有代理服务器时,设置web节点记录客户端地址的配置 |
Nginx提供了默认的日志格式的配置
|
Nginx网站的默认日志的主要特点是网站日志格式比较紧凑,节省存储空间,但是相对于JSON的数据格式,可读性相对较差,根据需要也可以将日志配置为JSON格式。
|
- 配置Tomcat集群,使用upstream配置Web服务器集群,frame-tomcat为网站模块的服务器集群
|
- 配置网站server。
- server_name:网站模块的域名
- location:配置转发路由,将接收到的网站用户请求转发给网站模块的tomcat集群。
|
- 验证Nginx配置,运行Nginx安装目录的sbin目录下nginx -t命令验证Nginx配置是否正确。如果配置出错,可根据错误提示信息对配置进行修改。
|
- 系统部署
Nginx配置完成以后,在服务器上部署网站模块和日志模块,首先将已经打包好的文件上传到服务器指定的目录,运行java -jar 命令启动Web服务,然后再启动Nginx。主要命令如下:
- 上传项目jar包到服务器指定位置如:/opt/jar目录下,使用cd命令切换到部署目录
|
- 使用java -jar命令启动日志服务,xxx.jar为日志模块的包。
|
- 启动nginx,执行nginx安装目录的sbin目录下的nginx命令
|
Windows操作系统的hosts配置文件一般在
C:\Windows\System32\drivers\etc\目录下。
- 配置网站hosts,例如部署网站模块和日志模块的服务器IP地址为192.168.68.129,配置虚拟的域名指向这个IP地址。
|
- 查看Nginx的access log日志,使用tail -f命令,看是否正常生成网站日志。
|