上一篇讲了:CentOS7下安装MySQL5.7nginx
服务器要部署项目,天然少不了对静态文件处理十分优秀的代理服务器Nginx。因为只是平常记录,这里就不讲心灵历程了... ...c++
# wget http://nginx.org/download/nginx-1.12.2.tar.gz
这里选择的是nginx的1.12.2稳定版,生产原则是越稳定越好,因此就没选择主线版本。正则表达式
# tar -zxvf nginx-1.12.2.tar.gz
tar.gz格式与tar格式解压不一样:一个参数是-zxvf,一个是-xvf,因为tar.gz是使用gzip压缩过的,因此参数有个z,这个值得注意。浏览器
# mv nginx-1.12.2 ../nginx1.12
以前移动文件老是用绝对路径,并且移动和重命名分开作,仍是由于对命令不够熟悉,告诫本身多去理解。服务器
因为nginx是使用c写的,咱们须要把他编译。若是输入gcc -v能看到版本信息,那能够跳过这步,若是没有,那输入如下命令进行安装:网络
# yum install gcc-c++
nginx配置是使用正则表达式匹配配置,因此咱们还要安装表达式解析库session
# yum install -y pcre pcre-devel
咱们老是想让本身的页面被打开快一点,抛开网络质量来讲,就是让咱们的页面资源被请求时可以尽可能小一些,这时候gzip就排上用场了,而nginx的gzip的须要库的支持ui
# yum install -y zlib zlib-devel
nginx对ssl加密证书也有比较好的支持加密
# yum install -y openssl openssl-devel
若是您跳过了步骤4.4,不须要ssl,那么您使用默认配置就好.net
# cd ../nginx1.12 # ./configure
确认配置后,直接构建,而后安装就行了
# make # make install
假如您安装时无SSL要求,选择的是默认配置,后来忽然想用SSL了,那您配置了nginx的ssl相关参数时,就会遇到错误:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:xxx
这时候就须要修改配置了,
# cd /usr/local/nginx-1.12 // 进入到nginx安装包目录 # ./configure --prefix=/usr/local/nginx --with-http_ssl_module // 加上http的ssl支持模块
修改完成以后,nginx就对https添加了支持了,而后咱们构建。
# make
而后覆盖nginx以前的二进制文件(注意,make就能够了,不须要make install)
# cp objs/nginx /usr/local/nginx/sbin // 注意您安装nginx的实际目录
此时会询问是否覆盖,输入y赞成,开始覆盖。若是提示文件繁忙,也能够先去到nginx安装目录下sbin目录把nginx先中止,再完成上述覆盖操做。
而后咱们重启nginx,配置好ssl就能够正常使用了。
# cd ../nginx1.12 # ./configure \ --prefix=/usr/local/nginx --with-http_ssl_module // 加上http的ssl支持模块
而后构建安装,
# make # make install
以花生壳的SSL证书为例,假设DNS解析已经配置好了,下载证书压缩包,解压获得后缀为.crt和.key两个文件。为了不配置路径问题,能够考虑直接移到nginx安装目录下的conf文件夹内,打开nginx.conf进行配置。
server { listen 443 ssl; server_name localhost; ssl on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate XXX-ca-bundle.crt; // 证书 ssl_certificate_key XXX.key; // 私钥 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; }
配置完后,使配置生效。
./nginx -s reload
使用浏览器访问:
nginx配置简述到这里,若是错误,欢迎指出!谢谢