当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx的安装和多域名配置的实现方法

    栏目:nginx问题汇总 时间:2019-03-21 16:44

    这篇文章主要介绍了Nginx的安装和多域名配置的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Nginx安装

    centos6.x yum默认没有nginx的软件包

    安装方式:

    到nginx下载页面http://nginx.org/en/linux_packages.html#stable,复制CENTOS 6的nginx软件源安装包

    运行命令:wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

    安装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配置文件

    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 oknginx: 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

    使用命令重启nginx生效:

    /etc/init.d/nginx restart