004-nginx简介、安装配置【源码安装和mac安装】、基本使⽤⼀、概述
1.1、Nginx是什么
  Nginx是⼀款轻量级的Web服务器,也是⼀款轻量级的反向代理服务器【常⽤】。
1.2、Nginx能⼲什么
Nginx能⼲的事情很多,这⾥简要罗列⼀些:
  1:直接⽀持Rails和PHP的程序
  2:作为HTTP反向代理服务器
  3:作为负载均衡服务器
  4:作为邮件代理服务器
  5:帮助实现前端动静分离
1.3、Nginx特点
  ⾼稳定、⾼性能、资源占⽤少、功能丰富、模块化结构、⽀持热部署
⼆、安装配置
2.1、源码安装
环境:CentOS 安装
function nginx_install() {
echo"nginx init start >#"
if [ -e nginx-1.15. ]; then
echo"exist nginx-1.15."
else
echo"nginx download start ……"
wget /download/nginx-1.15.
echo"nginx download end ……"
fi
echo"nginx install start ……"
yum -y install gcc-c++
yum -y install pcre*
yum -y install openssl*
tar -zvxf nginx-1.15.
rm -rf $1
mkdir -p $1
mkdir -p $1/run
cd nginx-1.15.12
# 指定⽬录安装
./configure --prefix=$1 --conf-path=$1/f
make && make install
# 拷贝配置
mv $1/f $1/f.default
cp ${project_path}/f $1/f
mkdir -p $1/run
rm -rf nginx-1.15.12
echo"nginx install end ……"
echo"nginx init end >#"
}
使⽤
nginx_install '/export/servers/nginx'
安装注意
cp: "conf/koi-win" 与"/application/nginx-1.6.3/conf/koi-win" 为同⼀⽂件
错误原因:安装⽬录和解压后的安装包为同⼀个⽬录。
解决办法:将安装包移动到另外的⼀个⽬录,或者重新选择安装路径。
安装配置:附2.2、常见的Nginx安装配置选项
2.2、yum安装
更新yum源⽂件:
rpm -ivh /packages/centos/7/noarch/RPMS/arch.rpm
wget -O /pos.po mirrors.aliyun/po
安装Nginx:
yum -y install  nginx
操作命令:
systemctl start nginx; #启动Nginx
systemctl stop nginx; #停⽌Nginx
2.2、mac上nginx安装
安rew:
安装nginx:
brew search nginx
brew install nginx
当然也可以编译安装
安装完以后,可以在终端输出的信息⾥看到⼀些配置路径:
/usr/local/etc/f (配置⽂件路径)
/usr/local/var/www (服务器默认路径)
/usr/local/Cellar/0 (安装路径)
三、使⽤
3.1、基本使⽤
测试配置⽂件:安装路径下的:/nginx/sbin/nginx -t
启动:安装路径下的:/nginx/sbin/nginx
停⽌安装路径下的:/nginx/sbin/nginx -s stop  或者是:nginx -s quit
重启安装路径下的:/nginx/sbin/nginx -s reload
查看进程:ps -ef |grep nginx
注意:安装过后,如果从外⾯访问不了,多半是被防⽕墙挡住了,可以关闭掉防⽕墙:/sbin/service iptables stop
3.2、基本配置
默认启动Nginx时,使⽤的配置⽂件是:安装路径/f ⽂件,可以在启动nginx的时候,通过-c来指定要读取的配置⽂件
常见的配置⽂件有如下⼏个:
  f:应⽤程序的基本配置⽂件
  pes:MIME类型关联的扩展⽂件
  f:与fastcgi相关的配置
  f:与proxy相关的配置
  f:配置Nginx提供的⽹站,包括虚拟主机
Nginx的进程结构
  启动Nginx的时候,会启动⼀个Master进程,这个进程不处理任何客户端的请求,主要⽤来产⽣worker进程,⼀个worker进程⽤来处理⼀个request。
Nginx模块分为:核⼼模块、事件模块、标准Http模块、可选Http模块、邮件模块、第三⽅模块和补丁等
Nginx基本模块:所谓基本模块,指的是Nginx默认的功能模块,它们提供的指令,允许你使⽤定义Nginx基本功能的变量,在编译的时候不能被禁⽤,包括:
  核⼼模块:基本功能和指令,如进程管理和安全
  事件模块:在Nginx内配置⽹络使⽤的能⼒
  配置模块:提供包含机制
常见的events模块指令,⼤部分都是放置在配置⽂件的顶部具体的指令,在上⾯那个⽂档⾥⾯,命令的context为events的就是events模块指令,只能在events⾥⾯使⽤
附2.2、常见的Nginx安装配置选项
编译参数可能会根据版本的不同进⾏变化,./configure --help查看编译参数列表,常见的选项如下:
--prefix=<path> - 安装路径,如果没有指定,默认为/usr/local/nginx。
--sbin-path=<path> - nginx可执⾏命令的⽂件,如果没有指定,默认为<prefix>/sbin/nginx。
--conf-path=<path> - 在没有使⽤-c参数指定的情况下f的默认位置,如果没有指定,默认为<prefix>/f。
--pid-path=<path> - nginx.pid的路径,如果没有在f中通过“pid”指令指定,默认为<prefix>/logs/nginx.pid。
--lock-path=<path> - nginx.lock⽂件路径,如果没有指定,默认为<prefix>/logs/nginx.lock。
--error-log-path=<path> - 当没有在f中使⽤“error_log”指令指定时的错误⽇志位置,如果没有指定,默认为<prefix>/logs/error.log。 --http-log-path=<path> - 当没有在f中使⽤“access_log”指令指定时的访问⽇志位置,如果没有指定,默认为
<prefix>/logs/access.log。nginx部署前端项目
--user=<user> - 当没有在f中使⽤“user”指令指定时nginx运⾏的⽤户,如果没有指定,默认为“nobody”。
--group=<group> - 当没有在f中使⽤“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中的第三⽅模块。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论