资讯专栏INFORMATION COLUMN

Ubuntu Nginx 配置多站点

xi4oh4o / 3318人阅读

摘要:然后再将这两个文件夹给定权限和所有权上面的就是默认的用户组合用户名。

原文来自: https://www.codecasts.com/blo...

在维护 codecasts 期间,遇到很多次“一个 nginx 如何配置多个站点” 的问题,我通常的回复就是:多添加一个 server 的 block 配置就好了,然而很多同学还是没能配置成功,今天我们仔细来看看在 一台 Ubuntu 的服务器中,如何在 nginx 在配置多个站点。

1. 安装 Nginx

在 Ubuntu 中,你可以直接通过 apt-get 命令来安装 Nginx:

sudo apt-get install nginx
2.创建新的文件路径

在安装完新的 Nginx 之后,针对多个站点的配置,其实我们可以设置不同的 root 来返回不同的内容:

sudo mkdir -p /var/www/domain-one.com/html
sudo mkdir -p /var/www/domain-two.com/html

以上的命令就会创建两个对应的目录:主要将 domain-one.comdomain-two.com 换成你自己的域名。然后再将这两个文件夹给定权限和所有权:

sudo chown -R www-data:www-data /var/www/domain-one.com/html
sudo chown -R www-data:www-data /var/www/domain-two.com/html

上面的 www-data:www-data 就是 Nginx 默认的用户组合用户名。

3.创建不同的入口文件

在这里为了演示方便,我们可以直接在第二步的两个目录中分别创建 index.html 文件:

sudo vim /var/www/domain-one.com/html/index.html

然后添加下面的内容:


    
        Welcome to Domain-one.com!
    
    
        

Success! The Domain-one.com server block is working!

对应的 domain-two.com 我们可以这样:

sudo vim /var/www/domain-two.com/html/index.html

在 domain-two.com 这里添加下面的内容:


    
        Welcome to Domain-two.com!
    
    
        

Success! The Domain-two.com server block is working!

主要上面的内容主要是用 domain-onedomain-two 来区分,在你照着文章实践的时候,记得替换成你自己的域名,如何你仅仅是学习目的的话: 推荐你去买腾讯云的香港主机(香港主机不用备案),趁着双十一活动便宜!

4.创建不同的配置文件

在安装完 Nginx 之后,其实 Nginx 的默认配置文件实在 /etc/nginx/sites-available/default 的,但是我们要配置多站点的话,可以这样:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain-one.com

然后编辑 /etc/nginx/sites-available/domain-one.com 配置文件:

sudo vi /etc/nginx/sites-available/domain-one.com

删除原来所有的配置内容,添加下面的配置:

server {
        listen 80;
        listen [::]:80;

        root /var/www/domain-one.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name domain-one.com www.domain-one.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

这样就配置完 domain-one.com 了,如果你需要配置 SSL 的话,一样是在 /etc/nginx/sites-available/domain-one.com 这个文件配置就好。接下来就照葫芦画瓢,我们创建 domain-two.com 的配置文件:

sudo cp /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-available/domain-two.com

以上命令就会复制出 domain-two.com 的配置文件,然后编辑该文件:

sudo vi /etc/nginx/sites-available/domain-two.com

主要在这个文件里面主要是将 domain-one.com 改为 domain-two.com; 然后,root 也注意一下:

server {
        listen 80;
        listen [::]:80;

        root /var/www/domain-two.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name domain-two.com www.domain-two.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

这样我们的两个域名配置文件就设置好了,最后我们需要将原来 Nginx 的 default 配置删除:

sudo rm etc/nginx/sites-available/default

注意这里是要删除的!

5.建立软链接

有了 domain-one.com 和 domain-two.com 的配置之后,我们需要把这两个配置告知 Nginx :

sudo ln -s /etc/nginx/sites-available/domain-one.com /etc/nginx/sites-enabled/

sudo ln -s /etc/nginx/sites-available/domain-two.com /etc/nginx/sites-enabled/

执行上面的命令之后,我们再使用 nginx -t 检测 Nginx 的配置文件是否有错:

sudo nginx -t

如果你没有看到报错,就可以直接重启 Nginx 服务了:

sudo service nginx restart

这样就大功告成啦!访问你的域名试试!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39677.html

相关文章

  • ubuntu14.04 lnmp nginx 虚拟主机(站点 域名) 配置

    摘要:首先请参照此文,将下的环境搭建好,当你这些准备工作都做好后,我们开始配置多域名,在本文中主要以为基础展开配置。如果还不行,检查,下面详细说明。检查文件查看是否有如下代码没有则加上。 首先请参照ubuntu14.04 lnmp(nginx1.9+php7.0+mysql5.7)此文,将ubuntu下的lnmp环境搭建好,当你这些准备工作都做好后,我们开始配置多域名,在本文中主要以Yii2...

    Object 评论0 收藏0
  • 一键安装LNMP或LAMP Web环境实现Linux服务器部署 PHP MySQL Nginx/Ap

    摘要:目前,我们看到的老蒋采用的部署的环境,在镜像中配置,于是我们会称作为。有没有一件傻瓜式安装工具脚本呢这里老蒋要推荐的来自国内比较老牌且一直更新维护的一键安装包,我们可以较为直观且无人值守的安装需要的网站服务器环境。如今我们建站较多的还是会选择VPS云服务器,很少会去选择虚拟主机,固然前者有很多的优点。不过相比虚拟主机不同的是,VPS云服务器需要我们自己配置WEB环境,而且我们较多的还是会选择...

    IntMain 评论0 收藏0

发表评论

0条评论

xi4oh4o

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<