vlambda博客
学习文章列表

Ubuntu下如何配置nginx虚拟主机

nginx配置虚拟主机的教程网上真的很多了,可是群里总是有人在这个问题上纠结,究其原因大概是网上教程都是说CentOS/Redhat的。Ubuntu这边目录结构就不一样,当然是犯晕。
实际上,个人认为Ubuntu这边的配置更加人性化。
首先是nginx安装,当然只需要apt操作一下:
apt-get updateapt-get install nginx
然后是php/mysql环境,照搬hustoj安装脚本里面的包名就可以:
apt-get updateapt-get install php-fpm mysql-server php-mysql php-common php-gd php-zip php-mbstring php-xml php-curl php-intl php-xmlrpc php-soap tzdata
接下来看一下/etc/nginx

这里可以看到,conf.d是来自开发者设计的配置文件目录,而sites-available则是来自Ubuntu/Debian设计的目录,而sites-enabled里面有软连接指向 sites- a vailable/default,这里从目录命名中就可以窥知设计者的意图。 a vailable用于放置配置文件本体,而 e nabled中如果软连接存在则配置生效,如果没有软连接则配置禁用。
如果你需要启用php,只需编辑 defa ult文件,找到对于的注释,去掉最前面的 # :

Ubuntu下如何配置nginx虚拟主机


如果你需要利用域名配置多个虚拟主机,则需要到sites-available目录下复制默认的配置文件。

Ubuntu下如何配置nginx虚拟主机

然后编辑它:

Ubuntu下如何配置nginx虚拟主机

注意,默认配置的全局端口80上只能有一个default_server,因此你通常需要删除上图圈出的两个default_server,避免跟原来的配置文件产生冲突。
然后修改server_name这个值,把默认的下划线 “  _  ” 修改成你打算增加的新域名。
当然,如果你新的域名打算放的东西不同,41行的root指令也是要根据实际情况修改的。 
安排妥当后,需要到sites-enabled目录里创建一个软链接:

Ubuntu下如何配置nginx虚拟主机

为了防止以为,重启之前,要先测试一下配置文件是否合法。

确定没有问题,就可以重新加载了:

如果你已经提前在域名服务商那里配置好了域名解析,那么就可以打开浏览器进行测试了。
看到这里,你会发现只要理解了发行版的开发者设计意图,后面的事情都顺理成章了。
今天的文章就写到这里,怎么样,你学会(fei)了么?记得点赞、在看分享吧!