0%

mac下Nginx的安装

Nginx的安装

mac下安装

首先看一下nginx的信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#执行命令
brew info nginx
#下面来解释一下下面的意思
--------------------------------------------------------
#最新已经到了1.19.6版本
nginx: stable 1.19.6 (bottled), HEAD

HTTP(S) server and reverse proxy, and IMAP/POP3 proxy server

https://nginx.org/
#已经安装过了 安装的位置

/usr/local/Cellar/nginx/1.19.4 (25 files, 2.2MB) *
# 以及安装的时间

Poured from bottle on 2020-11-13 at 11:31:37
# 从哪个网站下载的

From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/nginx.rb

License: BSD-2-Clause
# 依赖

==> **Dependencies**
# openssl是可以没有的 pcre必须要有

Required: **openssl@1.1** **✘**, **pcre** **✔**

==> **Options**

--HEAD

​ Install HEAD version

==> **Caveats**
# Docroot网站根目录位置

Docroot is: /usr/local/var/www


# 默认配置位置
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that

nginx can run without sudo.


#nginx加载servers下的所有文件
nginx will load all files in /usr/local/etc/nginx/servers/.



To have launchd start nginx now and restart at login:

brew services start nginx

Or, if you don't want/need a background service you can just run:

nginx

==> **Analytics**

install: 35,316 (30 days), 124,077 (90 days), 453,743 (365 days)

install-on-request: 35,265 (30 days), 123,459 (90 days), 445,150 (365 days)

build-error: 0 (30 days)

既然说需要依赖pcre组件,那么pcre是干什么的呢

PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块需要靠它来解析正则表达式。

进行安装nginx

1
brew install nginx

linux下安装源码包

使用源码包进行安装,需要自己去下载nginx需要的依赖

  • 需要gcc
  • 需要pcre,yum install pcre
  • 需要zlib,yum install zlib zlib-devel
  • 如果需要支持ssl的话,安装OpenSSL,yum install openssl openssl-devel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# 如果提示缺少什么,就加上相应的选项,比如缺少pcre的话,就加上 --with-pcre=/usr/common/temp/pcre-8.34 
./configure --prefix=/usr/common/nginx --with http_stub_status_module --with-http_ssl_module

常见的选项
--prefix=<path> 安装路径,如果没有指定,默认为/usr/local/nginx
--sbin-path=<path> nginx可执行命令的文件,如果没有指定,默认为<prefix>/sbin/nginx
--conf-path=<path> 在没有使用-c参数指定的情况下nginx.conf的默认位置,如果没有指定,默认
为<prefix>/conf/nginx.conf
--pid-path=<path> nginx.pid的路径,如果没有在nginx.conf中通过“pid”指令指定,默认为
<prefix>/logs/nginx.pid
--lock-path=<path> nginx.lock文件路径,如果没有指定,默认为<prefix>/logs/nginx.lock。
--error-log-path=<path> 当没有在nginx.conf中使用“error_log”指令指定时的错误日志位置,
如果没有指定,默认为<prefix>/logs/error.log
--http-log-path=<path> 当没有在nginx.conf中使用“access_log”指令指定时的访问日志位置,
如果没有指定,默认为<prefix>/logs/access.log
--user=<user> 当没有在nginx.conf中使用“user”指令指定时nginx运行的用户,如果没有指定,
默认为nobody
--group=<group> 当没有在nginx.conf中使用“user”指令指定时nginx运行的组,如果没有指定,
默认为nobody
--builddir=DIR 设置构建目录
--with-rtsig_module 启用rtsig模块
--with-select_module --without-select_module 如果在configure的时候没有发现kqueue, epoll,
rtsig或/dev/poll其中之一,select模块始终为启用状态
--with-poll_module --without-poll_module 如果在configure的时候没有发现kqueue, epoll,
rtsig或/dev/poll其中之一,poll模块始终为启用状态
--with-http_ssl_module 启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要
OpenSSL,在Debian系统中,对应的包为libssl-dev
--with-http_realip_module 启用ngx_http_realip_module
--with-http_addition_module 启用ngx_http_addition_module
--with-http_sub_module 启用ngx_http_sub_module
--with-http_dav_module 启用ngx_http_dav_module
--with-http_flv_module 启用ngx_http_flv_module
--with-http_stub_status_module 启用server status(服务状态)页
--without-http_charset_module 禁用ngx_http_charset_module
--without-http_gzip_module 禁用ngx_http_gzip_module,如果启用,需要zlib包。
--without-http_ssi_module 禁用ngx_http_ssi_module
--without-http_userid_module 禁用ngx_http_userid_module
--without-http_access_module 禁用ngx_http_access_module
--without-http_auth_basic_module 禁用ngx_http_auth_basic_module
--without-http_autoindex_module 禁用ngx_http_autoindex_module
--without-http_geo_module 禁用ngx_http_geo_module
--without-http_map_module 禁用ngx_http_map_module
--without-http_referer_module 禁用ngx_http_referer_module
--without-http_rewrite_module 禁用ngx_http_rewrite_module。如果启用,需要PCRE包
--without-http_proxy_module 禁用ngx_http_proxy_module
--without-http_fastcgi_module 禁用ngx_http_fastcgi_module
--without-http_memcached_module 禁用ngx_http_memcached_module
--without-http_limit_zone_module 禁用ngx_http_limit_zone_module
--without-http_empty_gif_module 禁用ngx_http_empty_gif_module
--without-http_browser_module 禁用ngx_http_browser_module
--without-http_upstream_ip_hash_module 禁用ngx_http_upstream_ip_hash_module
--with-http_perl_module 启用ngx_http_perl_module
--with-perl_modules_path=PATH 为perl模块设置路径
--with-perl=PATH 为perl库设置路径
--http-client-body-temp-path=PATH 为http连接的请求实体临时文件设置路径,如果没有指定,默认为<prefix>/client_body_temp
--http-proxy-temp-path=PATH 为http代理临时文件设置路径,如果没有指定,默认为
<prefix>/proxy_temp
--http-fastcgi-temp-path=PATH 为http fastcgi临时文件设置路径,如果没有指定,默认为
<prefix>/fastcgi_temp
--without-http 禁用HTTP服务
--with-mail 启用IMAP4/POP3/SMTP代理模块
--with-mail_ssl_module 启用ngx_mail_ssl_module
--with-cc=PATH 设置C编译器路径
--with-cpp=PATH 设置C预处理器路径
--with-cc-opt=OPTIONS 变量CFLAGS中附加的参数,用于FreeBSD中的PCRE库,同样需要指定–with-cc-opt="-I /usr/local/include",如果我们使用select()函数则需要同时增加文件描述符数量,可以通过–with-cc-opt="-D FD_SETSIZE=2048"指定。
--with-ld-opt=OPTIONS 通过连接器的附加参数,用于FreeBSD中的PCRE库,同样需要指定–with-ld-opt="-L /usr/local/lib"
--with-cpu-opt=CPU 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4,
athlon, opteron, amd64, sparc32, sparc64, ppc64
--without-pcre 禁用PCRE库文件,同时将禁用HTTP rewrite模块,如果要在location指令中使用正则表达式,同样需要PCRE库
--with-pcre=DIR 设置PCRE库源文件路径
--with-pcre-opt=OPTIONS 在编译时为PCRE设置附加参数
--with-md5=DIR 设置md5库源文件路径
--with-md5-opt=OPTIONS 在编译时为md5设置附加参数
--with-md5-asm 使用md5汇编源
--with-sha1=DIR 设置sha1库源文件路径
--with-sha1-opt=OPTIONS 在编译时为sha1设置附加参数
--with-sha1-asm 使用sha1汇编源
--with-zlib=DIR 设置zlib库源文件路径
--with-zlib-opt=OPTIONS 在编译时为zlib设置附加参数
--with-zlib-asm=CPU 为指定的CPU使用zlib汇编源进行优化,可用值为: pentium, pentiumpro
--with-openssl=DIR 设置openssl库源文件路径
--with-openssl-opt=OPTIONS 在编译时为openssl设置附加参数
--with-debug 启用debug记录
--add-module=PATH 增加一个在PATH中的第三方模块


# 第二步:配置后就依次
make
make install

启动和停止nginx

这里提供两种方式来启动和停止nginx

一种是不作为一个后台服务来启动

1
2
3
4
#启动
nginx
# 停止
nginx -s stop

一种是作为后台服务来启动(开机自启动)

1
2
3
brew services start nginx

brew services stop nginx