Ubuntu16.04 + Nginx 配置虚拟主机

写在开头,其实这个配置方法网上一搜一大堆,而且都写的很好,以下也是我自己参考的一篇,https://blog.csdn.net/Forrest_Gao/article/details/74522337 。之所以记录下来,是因为昨天试了好多遍,一直不理解一个点,今天早上醒的时候,躺在床上,突然灵光一现,想到了我的hosts配置应该在我自己主机windows上完成。因为开始学这个的时候看的老师的视频,老师使用的是Linux系统,开了几个终端,本机和虚拟我也没有分清楚。自己在做的时候就出现了很多问题。以下记录一下详细步骤吧。

安装nginx很简单

sudo apt install nginx

这里补充一下,ubuntu中使用apt的默认安装路径:

系统安装软件,文档一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下,lib文件在 /usr/lib。

首先去查看它的配置文件,进入到/etc/nginx下

其中nginx.conf是它的一个总的配置文件,在里面有很多include,表示会把另外一些配置文件一起加载

那我们要配置的文件就在sites-available和sites-enabled中,其中sites-enabled是使之生效的一个链接。

将sites-available文件夹中的default复制一份到test中

sudo cp default test

接下来就是修改test文件了

# server配置server

{

        listen 80;    #这里要把dufault文件中的default_server删掉

        listen [::]:80;    #同上

        server_name www.test.com;    #你配置的对应的域名

        root /var/www/test.com/html;     #你的root文件所在的地址,此处我还未新建。参考上面链接的文章第一步就好了。

        index index.html     

        location /

        {

                try_files $uri $uri/ =404;

        }

}

还有一步很重要的刚刚提过的,添加软链接

# 创建一个软链接到 /etc/nginx/sites-enabled/ 目录下,使配置文件生效sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/

最后重启nginx

sudo /etc/init.d/nginx restart

如何查看nginx是否已经启动

ps -ef | grep nginx

最后访问www.test.com,发现无法访问,是因为漏了最重要的一步,我们刚刚定义的这个域名,www.test.com,没有登记过,也没有将域名与我们的ip对应起来,所以浏览器自然找不到,所以还要在我们本机hosts中,添加一项,公网ip www.test.com。

window系统中的hosts文件放在C:\Winnt\System32\Drivers\Etc 目录中

到此,浏览器输入www.test.com就可以在本机访问到自定义的主页了,但只限于本机。

关键点在于:通过在hosts文件中添加ip和域名,则可以将www.test.com对应到服务器上,接着通过域名找到与对应的server_name的配置文件,会显示在配置文件中root路径下的index页面。这样就完成了整个过程。

你可能感兴趣的:(Ubuntu16.04 + Nginx 配置虚拟主机)