web 服务器
定义:
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档, 也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。
1. 分类
- 管理静态内容的 - 网页内容一旦设计好,就不能在运行过程中改变
常见的 apache, nginx
80 - 管理动态内容的 - 可以根据用户的不同,展示不同的网页,或是内容来自于数据库
java 编写的:
常见的 tomcat, jetty 免费的,开源的
商业的: weblogin websphere jboss
Nginx服务器
作为当今最普遍的三大服务器之一,nginx以简便的操作,要求不高的环境需求,简洁的操作风格,深受编程人员的喜爱;
- 目录结构:
conf 配置文件目录
html 自带的欢迎页面
nginx.exe 可执行程序 - 启动nginx
start nginx
- 用下面命令检查 nginx 进程是否启动
tasklist /fi "imagename eq nginx.exe"
- 可以通过下面的方式来访问 web 服务器:
打开浏览器,输入服务器的ip地址 + 网页名称
http:// ip地址 / 网页路径
-
默认的网页名一般是 index.html
-
常见命令
nginx -s reload // 重新加载配置文件
nginx -s stop // 强制停止
nginx -s quit // 优雅停止,完成当前任务再停止
tomcat服务器
作为一个java 编程人员,tomcat这个纯Java语言编写的服务器,是我们学习的首选,它不止有强大的功能,同时和idea集成,我们后面学习的所有Java+web都是基于tomcat 服务器的;
目录结构
bin 可执行程序
conf 配置目录
webapps 应用程序目录
bin\startup.bat 启动脚本
bin\startup.sh linux 启动脚本
bin\shutdown.bat 停止脚本
停止方式:
- 执行 shutdown.bat
- 直接关闭黑窗口 (强制停止)
- 选中黑窗口 按 ctrl+C
可以进入 conf/server.xml 文件进行如下配置
设置字符集,设置服务器有效时间,设置端口号等等;
<Connector port="端口号" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
URIEncoding=“解码字符集”
可以修改 conf/tomcat-users.xml 文件,定义tomcat 的管理员用户:
<role rolename="manager-gui"/> <!-- 角色标签 -->
<role rolename="admin-gui"/>
<!-- manager-gui 是管理应用的, amdin-gui 是管理虚拟主机的 -->
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
进入 Manager App 管理界面后,可以
start 开启app
stop 停止app
reload 重新加载app
undeploy 反部署app
上面的都是tomcat自带的一些web服务,我们最好不要随便删除,host-manager是管理虚拟主机的web服务,manger是管理tomcat配置的必要的web服务;
管理虚拟主机
查找 C:\Windows\System32\drivers\etc\hosts 文件,添加域名解析
DNS 域名映射
127.0.0.1 www.myself.com
然后通过 Host Manager 管理界面
添加name :虚拟主机的域名
添加appbase : 服务器的页面存储的文件夹
ROOT 对应根目录应用程序
index.html
...
上面我没有配置新的服务器页面存储地址,这个页面是tomcat自带的页面;
tomcat和idea配置
在上面我们说过,idea和tomcat可以良好的搭配使用。由于tomcat是apache + java语言编写的,所以它们可以很好的配合;
但是我们在建工程的时候初次使用可能不太会配置,下面我们来建一个tomcat配合的JavaEE工程项目;
这里我使用的tomcat版本是8.5.37,而与它最合适的javaEE版本是JavaEE 7,第一次配置时我们要将application server,设置成tomcat的根路径;这样idea就会找到tomcat,把它当作启动web服务的服务器;
其他配置按上图操作;
最后创建好的JavaEE项目的目录结构就应该是这样:
里面的web目录我们放一些页面,html,jsp文件;上面的src目录放我们的Java代码,前后端可以和谐,有条理的配合;