CentOS安装Nginx
本文写于 2014年。 |
运行环境
- CentOS 7 64bit
- nginx 1.10.1
需求说明
安装Nginx,对外提供Web服务
安装过程
下载源码
wget http://nginx.org/download/nginx-1.10.1.tar.gz |
解压缩
tar -zxvf nginx-1.10.1.tar.gz |
安装依赖
安装过程中需要的依赖包
yum install -y gcc-c++ gzip zlib-devel openssl openssl-devel pcre-devel |
编译安装
cd nginx-1.10.1 |
检查配置并启动
修改配置文件
/work/admin/nginx/conf/nginx.conf |
配置测试
/work/admin/nginx/sbin/nginx -t |
启动
/work/admin/nginx/sbin/nginx |
重启
/work/admin/nginx/sbin/nginx -s reload |
安装 SSL 证书
生成CSR文件
可利用在线工具或者Openssl命令行生成CSR文件,使用在线工具更加简单一些。
生成后,得到两个文件,SSL.CSR和SSL.KEY,SSL.KEY务必要保管好。
申请证书
向证书服务商提供SSL.CSR文件,申请证书,经过付费或免费流程,得到证书文件CRT。
部分服务商还要求在颁发的证书后,增加中间证书的内容,比如http://www.myssl.cn/。
配置证书
将SSL.KEY重命名为server.key,证书文件重命名为server.crt,两个文件上传至Nginx的Conf目录。
修改Nginx配置文件如下:
server { |
注意:如果使用root或sudo权限,务必保证权限无误,启动账户必须同nginx各目录账户所有者一致。
问题解决
非root账户启动,启动后账户默认为nobody
下载大文件时,客户端出现206错误
解决方法:nginx目录下所以文件和文件夹所有者修改为启动账户
若使用root或sudo方式启动,配置文件中user需要修改为启动账户
网站自签名证书
为 Nginx 生成网站签名证书,对外提供 HTTPS 访问。
开启 SSL
./configure --prefix=/work/admin/nginx --with-http_ssl_module |
生成证书
openssl genrsa -des3 -out xxx.xxx.com.key 1024 |
xxx.xxx.com为网站域名
注意,填写证书信息时,Common Name 要填写网站域名
Common Name (eg, your name or your server's hostname) []:xxx.xxx.com |