启用HTTPS过程实例记录(2)

server {
  listen 80;
  server_name example.com;
  #实现80端口重定向到443
  rewrite ^(.*) https://$server_name$1 permanent;(或return 301 https://www.example.com$request_uri

}

另外:安装成功的nginx如何添加未编译模块?

在重启nginx后发生了错误,错误如下:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:117  //说明缺少http_ssl_module模块
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

解决方法如下:

步骤1:查看nginx编译安装时的命令,安装了哪些模块和ngnix版本

  /usr/local/nginx/sbin/nginx -V

  会显示如下信息:

nginx version: nginx/1.7.7
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)
configure arguments: --prefix=/usr/local/nginx --user=www --group=www

步骤2:重新编译 nginx-1.7.7

  wget 

  tar zxvf nginx-1.7.7.tar.gz

  cd nginx-1.7.7

  //configure参数要和步骤1的configure arguments一模一样

  ./configure --prefix=/usr/local/nginx --with-http_ssl_module  --user=www --group=www

  make (没有make install)

步骤3:备份nginx的二进制文件

  cp /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak

步骤4:覆盖nginx的二进制文件

  cp objs/nginx   /usr/local/nginx/sbin/

  会提醒如下信息:

  cp:是否覆盖"/usr/local/nginx/sbin/nginx"? y
  cp: 无法创建普通文件"/usr/local/nginx/sbin/nginx": 文本文件忙 (nginx二进制文件繁忙,可以停止nginx,再试一次就可以了

步骤5:启动nginx

  service nginx start (或/etc/init.d/nginx start)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/323656c12f970bd1c0a0dccc8996c9db.html