Mac电脑OS系统下安装Nginx的详细教程


Posted in Servers onApril 14, 2022

目录


一、前言

本文介绍一下,如何在Mac系统中安装Nginx,把详细过程记录下来,方便以后查看,也方便大家学习。

二、正文

1、安装 Homebrew

homebrew是什么?它是Mac中的一款软件包管理工具,通过brew可以很方便的在Mac中安装软件或者是卸载软件。不了解的同学看以看官网(https://brew.sh/index_zh-cn.html), 然后在我们命令行中复制如下命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

运行,如下所示:

Mac电脑OS系统下安装Nginx的详细教程

安装成功后的话,我们可以使用命令 “brew update”更新下;如下命令:

brew update

Mac电脑OS系统下安装Nginx的详细教程

有关brew常用的指令如下:

1. brew搜索软件命令: brew search nginx
2. brew安装软件命令: brew install nginx
3. brew卸载软件命令: brew uninstall nginx
4. brew升级命令: sudo brew update
5. 查看安装信息(比如查看安装目录等) sudo brew info nginx
6. 查看已经安装的软件:brew list

2、brew安装nginx

2.1、使用brew安装nginx,如下命令所示:

brew install nginx

如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

2.2、查看nginx的配置信息,如下命令:

brew info nginx

Mac电脑OS系统下安装Nginx的详细教程

如上面的截图,From:xxx 这样的,是nginx的来源,Docroot默认为 /usr/local/var/www, 在/usr/local/etc/nginx/nginx.conf 配置文件中默认的端口为8080, 且nginx将在/usr/local/etc/nginx/servers 目录中加载所有文件。并且我们可以通过最简单的命令'nginx' 来启动nginx.

2.3、查看nginx安装目录, 如下命令:

open /usr/local/etc/nginx/

如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

打开nginx目录后,可以看到我们上面的使用 brew info nginx 查看信息所说的 server目录以及nginx.conf的配置文件,那么我们的nginx被安装到什么地方呢?我们从上面的截图可以看到,是在 这个目录下 /usr/local/Cellar/nginx,执行如下命令可以查看到:

open /usr/local/Cellar/nginx

会打包目录,如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

进入上面的 1.15.5文件后,如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

在该目录下可以看到一个名字为html的快捷方式的文件夹,进入该目录后,它有两个文件50.html和index.html,如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

其实它是指向的就是 /usr/local/var/wwww目录的,为什么这么说,我们来看下进入该命令后,查看下面有哪些文件就可以看到,如下图:

Mac电脑OS系统下安装Nginx的详细教程

3、启动nginx服务,如下命令:

brew services start nginx // 重启的命令是: brew services restart nginx

如下图所示:

Mac电脑OS系统下安装Nginx的详细教程

重启后,我们验证下,因为nginx默认的端口号是8080,因此我们页面访问 http://localhost:8080 即可,看到如下信息:

Mac电脑OS系统下安装Nginx的详细教程

如果成功的话,一般都是 欢迎的界面(index.html页面我自己改过),下面我们继续查看下nginx.conf 配置信息,使用如下命令:

cat /usr/local/etc/nginx/nginx.conf // 或者使用 sudo open /usr/local/etc/nginx/nginx.conf -a 'sublime text' 使用编辑器sublime打开。

如下配置信息:

#user  nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080; 
        server_name  localhost; 

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html; 
            index  index.html index.htm; 
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    include servers/*;
}

如上,就可以使用nginx搭建本地服务了。

三、总结nginx常见的配置

nginx的配置文件路径:/usr/local/etc/nginx/nginx.conf
nginx的服务器默认路径:/usr/local/var/www
nginx的安装路径:/usr/local/Cellar/nginx/1.15.5

1、nginx启动:

1.1、在终端输入 ps -ef|grep nginx 命令看是否有启动,如下:

Mac电脑OS系统下安装Nginx的详细教程

1.2、验证配置文件是否正确,因此在启动nginx之前,我们可以先运行下如下命令:

sudo /usr/local/Cellar/nginx/1.15.5/bin/nginx -t -c /usr/local/etc/nginx/nginx.conf

注意:一定要注意路径是否是自己的安装路径。这边我的nginx是1.15.5版本的。

Mac电脑OS系统下安装Nginx的详细教程

如果出现如下信息,说明配置文件正确。

nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok 
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful

重启nginx有如下几种方法:

1.3、通过brew,brew services start nginx(启动nginx) brew services restart nginx(重启命令), 如下所示:

Mac电脑OS系统下安装Nginx的详细教程

1.4、先进入bin目录:cd /usr/local/Cellar/nginx/1.15.5/bin/, 然后再执行:./nginx -s reload, 如下所示:

Mac电脑OS系统下安装Nginx的详细教程

1.5、根据进程号重启,执行命令 kill -HUP 进程号  如下所示:

Mac电脑OS系统下安装Nginx的详细教程

2、nginx停止

终端输入ps -ef|grep nginx获取到nginx的进程号, 注意是找到“nginx:master”的那个进程号

Mac电脑OS系统下安装Nginx的详细教程

注意:

kill -QUIT 72 (从容的停止,即不会立刻停止)

Kill -TERM 72 (立刻停止)

Kill -INT 72 (和上面一样,也是立刻停止)

Servers 相关文章推荐
学习nginx基础知识
Sep 04 Servers
详解nginx location指令
Jan 18 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
解决IIS7下无法绑定https主机的问题
Apr 29 Servers
docker 制作mysql镜像并自动安装
May 20 Servers
Nginx 配置 HTTPS的详细过程
May 30 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
Win2008系统搭建DHCP服务器
Jun 25 Servers
在虚拟机中安装windows server 2008的图文教程
Jun 28 Servers
Nginx配置使用详解
Jul 07 Servers
在windows server 2012 r2中安装mysql的详细步骤
Jul 23 Servers
windows系统搭建WEB服务器详细教程
Aug 05 Servers
Docker 镜像介绍以及commit相关操作
Docker官方工具docker-registry案例演示
Apr 13 #Servers
Nginx反向代理、重定向
Docker下安装Oracle19c
nginx location 带斜杠【 / 】与不带的区别
Apr 13 #Servers
Linux下使用C语言代码搭建一个简单的HTTP服务器
idea下配置tomcat避坑详解
You might like
php中http_build_query 的一个问题
2012/03/25 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
一文读懂vue动态属性数据绑定(v-bind指令)
2020/07/20 Javascript
python的id()函数介绍
2013/02/10 Python
Python实现的多线程http压力测试代码
2017/02/08 Python
Python实现针对中文排序的方法
2017/05/09 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
使用python爬取B站千万级数据
2018/06/08 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
Python实现图片识别加翻译功能
2019/12/26 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
大专生自荐书范文
2014/06/22 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
征求意见函
2015/06/05 职场文书
2016春节放假通知范文
2015/08/18 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
用Java实现简单计算器功能
2021/07/21 Java/Android
Redis三种集群模式详解
2021/10/05 Redis
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers