摘要:二配置文件的配置文件默认读取文件。域名还可以分出级域名。这时候发现和域名访问都只是对应到了使用端口的程序默认的。需要注意的是这句命令应该放在的花括号内。
一、Nginx安装
centos6.x yum默认没有nginx的软件包
安装方式:
到nginx下载页面http://nginx.org/en/linux_pac...,复制CENTOS 6的nginx软件源安装包
运行命令:wget http://nginx.org/packages/cen...
安装rpm包 yum install nginx-release-centos-6-0.el6.ngx.noarch.rpm -y , 此步实际只是加入了nginx的软件包源
执行 yum install nginx -y 就可以安装好nginx了。
nginx默认安装为Linux的服务 ,所以可以使用service nginx start, stop, restart, try-restart, reload, force-reload, status来操作nginx。
二、配置文件nginx的配置文件默认读取/etc/nginx/nginx.conf文件。
当然也可以修改使用的conf路径,使用命令:
./nginx -c 你的conf文件位置
可以相对路径或者绝对路径。
如果是不熟悉环境的Linux服务器,可以使用命令来快速查找nginx.conf文件 :
sudo find / -name "nginx.conf"
也可以使用命令
sudo nginx -t
来输出正在使用的配置文件:
nginx: the configuration file /data/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /data/nginx/conf/nginx.conf test is successful
nginx的配置都是由 directives组成,directives由简单指令或者区块指令组成
简单指令:listen 80;
区块指令由{}包含,区块指令又可以包含多个简单指令和区块指令:
http {
server { }
}
三、多域名配置我们都知道如果在域名管理的控制面板设置域名对应ip只能设置到ip,不能详细设置到端口。如果一台服务器部署了多个web应用,使用的不同端口启动的,那么就可以Nginx做映射。
比如我有一个域名 www.525.life。
域名还可以分出2级域名: admin.525.life。
我在域名控制面板把这两个域名都指向我的服务器公网ip 123.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
{
listen 80; server_name www.525.life; location / { #.... proxy_pass http://localhost:8880; } ##### other directive
}
server
{
listen 80; server_name admin.525.life; location / { #.... proxy_pass http://localhost:8881; } ##### other directive
}
这样设置就可以了。把8880和8881都映射到80端口的监听。
使用重载命令使nginx生效:
sudo nginx -s reload (改用这个:service nginx reload)
使用命令重启nginx生效:
/etc/init.d/nginx restart
这样就能使用www.525.life访问8880端口,admin.525.life访问8881端口。
四、每个域名一个conf的写法我们在上面的例子中使用的是一个文件多个域名的写法,也就是只使用一个conf,在里面不断的增加server。这种方式很直观,但是域名多了不好管理。
Nginx支持引入的用法,也就是我们可以在其他地方先新建好conf文件,conf文件中记录server的信息如下:
admin.conf中的内容是:
server
{
listen 80; server_name admin.525.life; location / { #.... proxy_pass http://localhost:8881; } ##### other directive
}
www.conf中的内容是:
server
{
listen 80; server_name www.525.life; location / { #.... proxy_pass http://localhost:8880; } ##### other directive
}
admin.conf和www.conf都放在/data/nginx/conf/vhost目录下。
然后在nginx.conf中使用引入命令:
include /data/nginx/conf/vhost/*.conf;
即可。
需要注意的是这句命令应该放在
http{
}
的花括号内。
因为include的命令引入相当于被引入的所有代码写在nginx.conf中一样。
我们留意到生活中很多时候不带www也能访问到某个网站,这也能通过Nginx实现。跟上面的配置一样,再增加一个server如下:
server
{
listen 80; server_name 525.life; location / { #.... proxy_pass http://localhost:8880; } ##### other directive
}
或者进行301跳转
server
{
listen 80; server_name 525.life; rewrite ^/(.*) http://www.525.life/$1 permanent;
}
六、添加404网页添加404网页,都可又直接在里面添加,如:
server
{
listen 80;
server_name www.web126.com; #绑定域名
error_page 404 /404.html;
}
最后还有一个方法需要注意,可能有需要禁止IP直接访问80端口或者禁止非本站的域名绑定我们的IP,这样的话应该
如下处理,放到最前一个server上面即可:
server{
listen 80 default;
server_name _;
return 403;
}
文章来源:http://blog.csdn.net/zzq90050...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26179.html
摘要:当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用做反向代理。两个域名是和服务器使用虚拟机实现反向代理第一步安装两个,分别运行在和端口。 showImg(http://ou3np1yz4.bkt.clouddn.com/nginx_logo1.jpg); 在学习淘淘商城的过程中接触到了nginx,今天就把使用它的过程记录下来,作为留存。 一、什么...
摘要:由此而来,部署一个代理服务器势在必行。本文对的安装和配置进行简单整理,希望对初学者有帮助。通过方式在线安装需要注意的一点是,并不在的安装源中。配置完成之后,记得要重启。 前言 笔者在国外租了一个虚机,用来部署自己的博客应用,并申请了一个域名51think.net来指向这个虚机。随着部署的应用越来越多,而80端口只有一个,无法直接通过域名去访问不同的应用。由此而来,部署一个代理服务器势在...
阅读 2471·2021-10-08 10:04
阅读 2709·2021-09-06 15:02
阅读 728·2019-08-30 13:50
阅读 1516·2019-08-30 13:21
阅读 2567·2019-08-30 11:15
阅读 2087·2019-08-29 17:19
阅读 1550·2019-08-26 13:55
阅读 1246·2019-08-26 10:15