利用Nginx和Host把自定义域名指向本地

假如有域名a.com,怎么把它和自己的本地目录做链接呢?今天玩Nginx的时候终于知道怎么玩了。简单记录一下。

原理

  • 利用hosts把域名指向本地即127.0.0.1
  • 利用nginx进行域名跳转和目录指定

实施

安装nginx

brew install nginx

修改配置

sudo vim /usr/local/etc/nginx/nginx.conf
#修改默认的8080端口为80

如果你开启了apache,可能会造成403,把apache关了就行

给予管理员权限

sudo chown root:wheel /usr/local/opt/nginx/bin/nginx
sudo chmod u+s /usr/local/opt/nginx/bin/nginx

加入launchctl启动控制

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

运行nginx

sudo nginx #打开 nginx
nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx
nginx -t   #测试配置是否有语法错误

用法详解

nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

选项列表

-?,-h           : 打开帮助信息
-v              : 显示版本信息并退出
-V              : 显示版本和配置选项信息,然后退出
-t              : 检测配置文件是否有语法错误,然后退出
-q              : 在检测配置文件期间屏蔽非错误信息
-s signal       : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)
-p prefix       : 设置前缀路径(默认是:/usr/local/Cellar/nginx/1.2.6/)
-c filename     : 设置配置文件(默认是:/usr/local/etc/nginx/nginx.conf)
-g directives   : 设置配置文件外的全局指令

配置

以上都完成之后,浏览器输入localhost如果能够正常访问证明就可以了。

接下来进行下一步的配置

找到nginx的配置目录,不同的版本可能不太一样
我的是在/usr/local/etc/nginx,进入servers目录,有的可能叫conf.d,新建你的配置文件

vim demo.conf

编辑配置文件

server {
  listen 80;
  server_name a.com;
  root /Users/dctxf/Desktop/demo;
}

浏览器输入a.com是不是能访问了。

问题

mac hosts文件不生效

在学习过程中发现hosts文件不生效,必须重启,后来才发现重启网络服务就行,具体什么原因还不是很清楚,网上有说是因为浏览器的长链接,关闭浏览器或者隐身模式访问,我试了下还是不行。因为我用了surge,发现重新加载surge的配置文件就行,不清楚具体原因。

nginx命令不能用

输入nginx命令后会提示无此命令,应该是环境变量的问题,我的解决办法是修改了.zshrc的配置

export PATH=${PATH}:/usr/local/Cellar/nginx/1.10.1/bin
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,781评论 24 1,002
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,198评论 21 356
  • 配置运行Nginx服务器用户(组) 用于配置运行Nginx服务器用户(组)的指令是user,其语法格式为: use...
    吃瓜的东阅读 4,535评论 0 41
  • 距離1.41 --伊伊 我看見了,距離,這樣進這樣遠,胡蘿蔔餃子,一枚,又一盤,連連脆脆,我看見了,還有陽台蒲公英...
    Indigo大白兔奶糖阅读 124评论 0 0