发表于: 2016-03-29 00:08:25
2 2332
今天完成的事情:
1、研究了一晚上的Nginx和Tomact的配置,好像还是没有搞定。
2、昨晚九宫格已完成,有一定基础,这个不难。
明天计划的事情:
1、继续研究Nginx如何与Tomact配合使用,达到项目能上线访问(自己买了ECS云服务器)。
2、完成桌游精灵的杀人游戏简化版,不知会遇到什么样的挑战,暂时没有搜索资料,所以无法得出结论。
3、有时间的话,试试在github上部署项目,github之前上过,但是一直因为是英文网站,虽然久仰大名,但一直没有去使用,希望渐渐了解吧。
遇到的问题:
相对来说,初级js对我并不是什么难题,做完九宫格不到20分钟,但是后面的“配置Nginx,可以直接访问”这个任务把我难住了,查询了一下午的资料,还是一头雾水,之前没有接触过相关知识,以为是类服务器的一款软件,同时看到同门师兄的日报,发现很多人直接可以让项目上线,以为单单Nginx就可以做到,在这里花了大量无效时间,有点犹豫是不是需要回去看看html+css班里面到底布置了些什么- -。
另外:看见有的师兄的项目是直接部署在服务器上,可以直接访问,不知都是通过什么形式完成的?这里还请师兄解惑,谢谢!
解决方案:
在查询一下午资料无果之后,想起了日报系统,经过查询日报,后来发现答案在这里:
https://www.zhihu.com/question/41430703?from=profile_question_card
还好这里有详细指点,这里给师兄以及日报系统点赞!
收获:
1、了解到Nginx是本地反向代理服务器,可以访问静态页面,如需访问jsp等网页,还需要配置Tomact配合使用。(修正如下)
反向代理方式实际上就是一台负责转发的代理服务器,貌似充当了真正服务器的功能,但实际上并不是,代理服务器只是充当了转发的作用,并且从真正的服务器那里取得返回的数据。这样说,其实nginx完成的就是这样的工作。我们让nginx监听一个端口,譬如80端口,但实际上我们转发给在8080端口的tomcat,由它来处理真正的请求,当请求完成后,tomcat返回,但数据此时没直接返回,而是直接给nginx,由nginx进行返回,这里,我们会以为是nginx进行了处理,但实际上进行处理的是tomcat。可以把静态文件交由nginx来进行处理。很多用到nginx的地方都是作为静态伺服器,这样可以方便缓存那些静态文件,比如CSS,JS,html,htm等文件。
2、常见的组合有:Nginx/apache + tomcat/jetty/jboss 等
对了,附上本次作业,由于之前购买了阿里云的Ecs服务器,还没有域名,暂时把项目部署在了Tomact服务器上,明天准备继续研究怎样把Nginx和Tomact相关联配合使用。
九宫格作业:http://121.42.168.205/task/task01.html
更新几个资料网站及Nginx与Tomcat动静分离配置如下:
Nginx基本配置:http://linux.it.net.cn/e/server/nginx/2015/0621/15898.html
Nginx与Tomcat动静分离:http://www.jb51.net/article/77611.htm
Tomcat基本配置:http://www.cnblogs.com/chinafine/archive/2010/06/07/1753369.html
Nginx配置(仅server,#表示注释):
server {
listen 80;
server_name xxx.xx.xxx;#外网访问你的网址
#charset utf-8;
#access_log logs/host.access.log main;
location / {
root xxx/xxx;#项目路径
index index.html index.htm task01.html index.jsp;
}
#如不需Tomcat代理,以下三个location及其中配置删除;
#所有jsp页面均交给tomcat处理
location ~ .(jsp|jspx|do|php)?$ {
proxy_pass http://127.0.0.1:8080;#转至Tomcat处理
index index.jsp;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#所有静态文件由nginx直接读取不经过tomcat
location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
expires 15d;
}
location ~ .*\.(js|css)?$ {
expires 1h;
}
#删除截止
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Tomcat配置(仅<Host></Host>):
端口默认8080不变
Host中,name不变(本地),appBase="xx" xx表示项目文件夹名字
仅需要在<Host></Host>中间加上如下代码即可:
<Context path="" docBase="xxx项目的路径" reloadable="true" crossContext="true"></Context>
评论