Nginx 学习笔记
1. 什么是Nginx
Nginx 是一款高性能的http 服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器.
由俄罗斯程序设计师lgor Sysoev用C语言所开发,官方测试nginx能够支撑5万并发连接,并且CPU,内存等资源消耗却非常低,运行非常稳定.开源.
2. Nginx 应用场景
- (1) 可用于http 服务器
Nginx 是一个Http服务可以独立提供http服务.可以做网页静态服务器.
- (2) 虚拟主机
Nginx可以实现一台服务器虚拟出多个网站.例如个人网站所使用的虚拟主机.
- (3) 反向代理,负载均衡
当网站的访问量达到一定的程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理.并且多台服务器可以品均分担负载,不会因为某台服务器负载过高宕机儿某台服务器闲置的情况.
3. Nginx 的安装
3.1 下载nginx
官网地址
http://nginx.org
,本次使用了1.8.1
的版本安装,nginx提供的是源码,需要自己编译安装
3.2 安装环境的要求
3.2.1 需要安装gcc的环境
一般使用代码
yum install -y gcc-c++
即可
3.2.2 需要第三方的开发包
- pcre
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。一般直接使用命令
yum install -y pcre pcre-devel
即可安装
- zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。一般直接使用命令
yum install -y zlib zlib-devel
即可安装.
- openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。一般直接使用命令yum install -y openssl openssl-devel
即可安装.
3.2.3 安装步骤
- (1) nginx 源码包上传到linux
- (2) 解压缩
tar -zxvf nginx-1.8.1.tar.gz
- (3) 创建文件目录
mkdir /var/temp/nginx/client -p
- (4) 进入到解压的目录,使用
configure
命令创建一个 makeFile文件
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
- (5) 编译 使用命令
make
- (6) 安装 使用命令
make install
- (7) 验证是否安装完成 进入目录
/usr/local/nginx
命令cd /usr/local/nginx
3.3 Nginx 的启动
3.3.1 启动
- 进入到目录 sbin 使用命令
cd /usr/local/nginx/sbin
- 执行命令
./nginx
- 注意 ##需要开放安全组,或者关闭防火墙##
3.3.2 验证
- (1) 使用命令
netstat -ntlp
查看是否有nginx进程 - (2) 访问地址
http://主机地址:80/
看是否出现nginx的页面
4. Nginx 的常用命令
都需要切换到nginx的安装目录哦
- (1) 启动命令
./nginx
- (2) 关闭命令
./nginx -s stop
./nginx -s quit
- (3) 刷新配置文件
这个玩意能立即生效哦(修改了nginx.conf文件之后,可以不重启Nginx,能马上生效)
./nginx -s reload