目的:使用windows+nginx+tomcat实现域名访问服务器
腾讯云申请的域名:weixiangming.com
由于暂时没有公网ip地址,也懒得做外网映射。所以服务器用局域网ip地址,使用局域网ip访问。
windows服务器:局域网内IP地址:192.168.1.197
一.域名解析
主机记录:www
记录类型:A
线路类型:默认
记录值:192.168.1.197
如图:
此时可以使用域名:端口号访问服务器,如www.weixiangming.com:8080:
二.使用nginx代理服务器做转发
1)在服务器上安装nginx。
使用cd命令,进入到nginx目录,执行start nginx
此时黑窗口一闪而过
打开任务管理器,查看是否有nginx进程,如下:
浏览器输入localhost,出现如下说明nginx启动成功
那么这些实际上是在哪里配置的。这就涉及到nginx的一个重要配置文件nginx.conf了。
2)我们可以看到nginx文件夹内有一个conf文件夹,其中有好几个文件,其他先不管,我们打开nginx.conf,可以看到一段:
这段代码在server里面,相当于一个代理服务器,当然可以配置多个。
下面我们仔细来分析一下:
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。
server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。
location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。
index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。
下面的error_page是代表错误的页面,这里我们暂时不用,先不管它。
那我们知道了具体的配置了,怎么让它访问localhost时转到tomcat时。实际上就修改两个地方:
server_name localhost:8080;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:8080;
root html;
index index.html index.htm;
}
我们就修改了上面两个地方,我的tomcat在8080端口,可以根据自己的需要修改。这里有一个新元素proxy_pass,它表示代理路径,相当于转发,而不像之前说的root必须指定一个文件夹。
此时我们修改了文件,是不是就意思着必须先关了nginx再重新启动了,其实不必,nginx可以重新加载文件的。
3)我们直接运行:
nginx -s reload
如果不想直接加载,而只是想看看自己的配置文件有没有问题,可以直接输入:
nginx -t
这可以检查配置文件中是否有错。 下面我们所有的修改都假设我们修改完成后运行了nginx -s reload进行重新加载配置文件,请注意。
一切没问题了,然后我们再重新打开www.weixiangming.com,我们看到下面的页面: