关于nginx配置和ssl证书的配置。
我所知道nginx的安装有以下两种方法:
- yum 安装
- 源码安装
噔噔噔~有两种方法任君选择,但是请注意,虽然yum安装相对来说比较简单方便,但如果你的小服务器上需要配置SSL证书或者要安装一些模块的话,一定要用源码安装,这可是血的教训。因为之前搭建环境的时候为了方便直接用了yum安装,结果导致配置SSL证书时,找不到./configure,最后不得不删除nginx重新用源码安装。废话不多说,下面上教程。
当前的linux系统版本信息是这样的:
#cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
第一步:
在官网上http://nginx.org/download/上下载相应的版本
第二步:
解压 tar -zxvf nginx-XXX.tar.gz 形成一个安装目录Nginx-XXX
第三步:
1.找个地方新建一个编译目录nginx(例:/usr/local/nginx-1.13.6-compile-new)。
#mkdir nginx
2.进入安装目录,cd Nginx-XXX,执行加载模块。
#./configure --prefix=/usr/local/nginx-1.13.6-compile-new --conf-path=/usr/local/nginx-1.13.6-compile-new/conf/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
第四步:
#make //编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)
#make install //安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)
或者也可以执行:#make&make install
第五步:进入nginx编译目录,打开nginx.conf文件。
在server中加入配置ssl
ssl on;
ssl_certificate 这里添加server.pem的访问路径;
ssl_certificate_key 这里添加server.key的访问路径;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate 这里添加server.pem的访问路径;
ssl_certificate_key 这里添加server.key的访问路径;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM;
ssl_prefer_server_ciphers on;
location ^~/download/ {
root /;
index index.html index.htm;
}
}
第六步:检查配置项有没有问题。
进入编译目录
#cd /usr/local/nginx-1.13.6-compile-new/sbin
#./nginx -t //检查文件是否有问题,若返回是ok,则没问题
启动nginx
#/usr/local/nginx-1.13.6-compile-new/sbin/nginx
-c /usr/local/nginx-1.13.6-compile-new/conf/nginx.conf
重启命令是:./nginx -s reload
另外还会有一个问题,大家可能会遇到,我之前把编译目录直接当成了安装目录,导致报如下所示错误:
cp objs/nginx '/usr/local/nginx-1.13.6/sbin/nginx'
test -d '/usr/local/nginx-1.13.6/conf' \
|| mkdir -p '/usr/local/nginx-1.13.6/conf'
cp conf/koi-win '/usr/local/nginx-1.13.6/conf'
cp: "conf/koi-win" 与"/usr/local/nginx-1.13.6/conf/koi-win" 为同一文件
make[1]: *** [install] 错误 1
make[1]: Leaving directory `/usr/local/nginx-1.13.6'
make: *** [install] 错误 2
解决方法:
新建一个目录来当编译目录,然后执行
./configure --prefix=/usr/local/nginx-1.13.6-compile-new --conf-path=/usr/local/nginx-1.13.6-compile-new/conf/nginx.conf --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
最后一步:
然后验证,在浏览器中输入
https://域名:端口/
能出来页面就没问题了,就解决啦~~
谢谢观看
网友评论