对于部署项目这块比较迷糊,所以在自己windows下进行项目部署加以练习。总结:
1.项目开发模式是前后端分离,所以将前端页面、后台代码都准备好,运用nginx动静分离方式部署项目。
*动静分离*:传统将项目是把资源一起放到war中,而动静分离是把静态资源从war中剥离出来,单独放在一个目录中。这样当访问静态资源时,就由nginx直接重定向文件资 源。当访问动态资源就由tomcat解析。nginx解析静态比tomcat快很多。
2.为了尽量不改动项目,包括页面接口地址,所以就采用项目的正式url地址,但是通过配置hosts 来做到访问的是本地。
hosts 位置:C:\Windows\System32\drivers\etc
添加:127.0.0.1 h5.5games.me (根据项目url)
3.将静态资源文件放在D盘ll\main目录下
4.配置nginx
修改nginx.conf,添加配置行
server {
listen 80;
server_name h5.5games.me;
location ^~ /main {
index denglu.html;
alias D:\\ll\\main\\;
}
location /ws {
proxy_pass http://127.0.0.1:8091/ws;
}
}
配置行说明:
注意windows下配置需要对反斜杠进行转移!!!否则会有问题!!!
server_name 如果一个nginx.conf中只有一个server,那么server_name随便取,因为不管匹不匹配都会选择这一个。
如果有多个server,那么会按照server_name进行匹配,如果都不匹配,那么默认会选择第一个。
alias和root的区别:
(1)root 用法:
location /abc/text/ {
root /local_path/text/;
}
这样当访问 /abc/text/1.html时,nginx把请求映射为 /local_path/text/abc/text/1.html
(2)alias用法:
location /abc/text/ {
alias /local_path/text/;
}
这样当访问 /abc/text/1.html时,nginx把请求映射为 /local_path/text/1.html
location 下的index是当访问 h5.5games.me/main时 会访问denglu.html。
5.将测试或者正式服上的表生成sql文件,然后在本地mysql库下生成表。修改项目中的数据库连接,连接到本地数据库。
6.发布项目,我用的是idea中tomcat插件,进行配置。也可以手动打包,放到tomcat的webapp目录下。
6.启动项目,发起请求,测试成功!