当前位置: 首页 > 后端技术 > PHP

Nginx安装及多域配置

时间:2023-03-29 16:44:53 PHP

1.Nginx安装centos6.xyum默认没有nginx包安装方法:进入nginx下载页面http://nginx.org/en/linux_pac...,复制CENTOS6nginx软件源安装包运行命令:wgethttp://nginx.org/packages/cen...安装rpm包yuminstallnginx-release-centos-6-0.el6.ngx.noarch.rpm-y,这一步其实就是添加nginx包源,执行yuminstallnginx-y安装nginx。nginx默认安装为Linux服务,所以可以使用servicenginxstart、stop、restart、try-restart、reload、force-reload、status来操作nginx。2.配置文件nginx的配置文件默认读取/etc/nginx/nginx.conf文件。当然你也可以修改使用的conf路径,使用命令:./nginx-c你的conf文件位置可以是相对路径也可以是绝对路径。如果是不熟悉环境的Linux服务器,可以使用命令快速找到nginx.conf文件:sudofind/-name"nginx.conf"也可以使用命令sudonginx-t输出使用的配置文件:nginx:配置文件/data/nginx/conf/nginx.conf语法为oknginx:配置文件/data/nginx/conf/nginx.conf测试成功nginx的配置由指令组成,和指令由简单指令或块指令组成:简单指令:listen80;block命令由{}包含,block命令可以包含多个简单命令和block命令:http{server{}}3.多域配置我们都知道,如果在域名管理控件中设置域名对应panelip只能设置到ip,不能??详细设置到端口。如果一台服务器部署了多个web应用,使用不同的端口启动,那么可以使用Nginx进行映射。比如我有一个域名www.525.life。该域名还可以分为二级域名:admin.525.life。我在域名控制面板里把两个域名都指向了我的服务器公网ip123.123.123.123。这时发现www.525.life和admin.525.life域名访问只对应使用80端口(默认)的web程序。如果我们要访问81端口的应用,只能使用:www.525.life:81或者admin.525.life:81。但这很不方便。如果我们要去除端口并访问它,我们需要使用Nginx进行映射。我们希望www.525.life访问8880端口,admin.525.life访问8881端口,那么可以这样设置:server{listen80;server_namewww.525.life;location/{#....proxy_passhttp://localhost:8880;}#####其他指令}server{listen80;server_nameadmin.525.life;location/{#....proxy_passhttp://localhost:8881;}#####otherdirective}这样设置就可以了。将8880和8881都映射到80端口的监听。使用reload命令使nginx生效:sudonginx-sreload(改用:servicenginxreload)使用命令重启nginx生效:/etc/init.d/nginxrestart这样就可以使用www.525.life访问8880端口,admin.525.life访问8881端口。4.每个域名一个conf上面的例子中,我们使用了写多个域的方法名字在一个文件里,也就是只用了一个conf,里面不断的添加服务器。这种方法很直观,但是域名太多很难管理。Nginx支持导入使用,即我们可以先在其他地方新建一个conf文件,在conf文件中记录服务器信息如下:admin.conf中的内容为:server{listen80;server_nameadmin.525。life;location/{#....proxy_passhttp://localhost:8881;}#####otherdirective}www.conf中的内容为:server{listen80;server_namewww.525.life;location/{#....proxy_passhttp://localhost:8880;}#####otherdirective}admin.conf和www.conf放在/data/nginx/conf/vhost目录下。然后在nginx.conf中使用import命令:include/data/nginx/conf/vhost/*.conf;需要注意的是,这条命令要放在http{}的花括号中。因为引入include命令相当于把所有引入的代码都写在nginx.conf中。5、301重定向我们注意到,生活中很多时候,一个网站不用www也可以访问,这也可以通过Nginx来实现。与上述配置相同,添加另一台服务器如下:server{listen80;server_name525.life;location/{#....proxy_passhttp://localhost:8880;}#####otherdirective}或者继续301跳转服务器{listen80;server_name525.life;rewrite^/(.*)http://www.525.life/$1permanent;}6、添加404网页添加404网页,直接添加即可,如:server{listen80;server_namewww.web126.com;#bindingdomainnameerror_page404/404.html;}7.禁止IP直接访问最后还有一个方法需要注意。可能需要禁止IP直接访问80端口或者禁止非本站域名绑定我们的IP。这种情况下应该这样处理,放在第一台服务器上就行了:server{listen80default;server_name_;return403;}文章来源:http://blog.csdn.net/zzq90050...