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设置日志打印post请求参数的方法
Mar 31 Servers
win10安装配置nginx的过程
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
nginx结合openssl实现https的方法
Jul 25 Servers
nginx共享内存的机制详解
Mar 21 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
解决IIS7下无法绑定https主机的问题
Apr 29 Servers
Nginx本地配置SSL访问的实例教程
May 30 Servers
Docker安装MySql8并远程访问的实现
Jul 07 Servers
Nginx如何获取自定义请求header头和URL参数详解
Jul 23 Servers
Valheim服务器 Mod修改安装教程 【ValheimPlus】
Dec 24 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格式化工具Beautify PHP小小BUG
2008/04/24 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
Javascript & DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
extjs render 用法介绍
2013/09/11 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
小程序实现多选框功能
2018/10/30 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
Python中subprocess模块用法实例详解
2015/05/20 Python
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
Python assert语句的简单使用示例
2019/07/28 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
给儿子的表扬信
2014/01/15 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
离职保密承诺书
2014/05/28 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
招商银行收入证明
2015/06/17 职场文书
优质服务标语口号
2015/12/26 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
Python pandas求方差和标准差的方法实例
2021/08/04 Python