nginx是一款业内流行、功能强大的web服务器。
- 高性能:对正常请求,比Apache有更快的响应;
- 高可靠:主-工作多进程模型;
- 高并发:万级别以上,甚至十万级别+
- 易扩展:模块化设计
- 热部署:修改配置文件后,优雅重启;
- 跨平台:Linux、Windows、macOS
nginx的主要应用场景包括:
[root@aubin cch]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@aubin cch]# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
[root@aubin cch]#
gcc编译器是linux下最常用的c/c++的编译器,该编译器以gcc命令的形式呈现。
gcc -v
,出现以下gcc版本信息表示已经安装了gcc,否则输入命令yum install gcc-c++
安装gcc。[root@aubin cch]# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
prce是一个轻量级的perl函数库,包括perl兼容的正则表达式库,pcre比boost之类的正则表达式的库小很多。pcre功能抢答,非常易用。
rpm -qa pcre
,如果已经安装则会显示版本号,否则输入命令yum install -y pcre pcre-devel
,在线安装prce。[root@aubin cch]# rpm -qa pcre
pcre-8.32-17.el7.x86_64
zlib是提供数据压缩的函数库,zlib库提供许多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行压缩,所以需要安装zlib依赖。
yum list installed | grep zlib*
,若已安装会显示版本号,否则可以输入命令yum install -y zlib zlib-devel
,在线安装zlib依赖。[root@aubin cch]# yum list installed | grep zlib*
zlib.x86_64 1.2.7-17.el7 @anaconda
opebssl是多功能命令工具,用来生成密钥,创建数字证书,手动加密解密数据,nginx不仅支持http协议,而且还支持https(即在ssl协议上传输http),所以需要安装apenssl依赖。
rpm -qa openssl
,若安装则会显示版本号,否则执行命令yum install -y openssl openssl-devel
,在线安装OpenSSL。[root@aubin cch]# rpm -qa openssl
openssl-1.0.2k-8.el7.x86_64
以上的所有,可以使用一条命令解决:yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
安装nginx-1.16.1 下载网址:https://nginx.org/en/download.html
输入命令tar -zxvf nginx-1.16.1.tar.gz
解压缩
cd
到解压好的nginx安装包目录中,输入./configure
配置结束后,输入make
(如果出现make: *** 没有规则可以创建“default”需要的目标“build”。 停止。
则表示有依赖没有安装,可以输入yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel
直接安装依赖,再重新回到第三步)
cd /usr/local/nginx/sbin
./nginx
curl http://127.0.0.1
,出现以下表示启动成功(nginx配置文件配置的默认端口是80)[root@aubin sbin]# curl http://127.0.0.1
<!DOCTYPE html>
Welcome to nginx!</title>