nginx简易安装和配置

环境 centos7.4
安装nginx 下载
# 注意选择版本号 wget http://nginx.org/download/nginx-1.14.0.tar.gz

解压
# 到当前下载目录 tar zxvf nginx-1.14.0.tar.gz

安装
# 这里的安装并没有开启https-ssl模块 ./configure && make && make install # 如果要开启https-ssl模块使用下面这条命令 ./configure --with-http_ssl_module && make && make install

启动、重启、停止、退出
# 启动 切换目录到安装nginx的sbin下 ./nginx #重新加载配置|重启|停止|退出 ./nginx -s reload|reopen|stop|quit #测试配置是否有语法错误 nginx -t

配置 反向代理
location ^~ /api/v1/ { proxy_pass http://localhost:8080; }

nginx配置单页应用之路由匹配以及404页面
当使用history的方式作为前端路由时,刷新页面会找不到路由
# 所有找不到的路由 跳转到index.html location / { try_files $uri $uri/ /index.html; }

安装配置https-ssl证书 修改更新Nginx根目录下 conf/nginx.conf 文件
server { listen 443; server_name www.opqnext.com; #填写绑定证书的域名 ssl on; ssl_certificate 1_www.opqnext.com_bundle.crt; ssl_certificate_key 2_www.opqnext.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置 ssl_prefer_server_ciphers on; location / { roothtml; #站点目录 indexindex.html index.htm; } }

配置文件参数说明
listen 443 SSL // 访问端口号为443
ssl on // 启用ssl功能
ssl_certificate //证书文件
ssl_certificate_key //私钥文件
ssl_protocols //使用的协议
ssl_ciphers //配置加密套件,写法遵循openssl标准
启动报错,没有安装http_ssl_module
【nginx简易安装和配置】unknown directive "ssl"
出现这个错误说明没有将ssl模块编译进nginx,在configure的时候加上“–with-http_ssl_module”即可
# 进到下载当前版本nginx包,并且解压 进到目录 ./configure --with-http_ssl_module # 切记千万不要 make install 那样就覆盖安装了 make # 将原来的nginx备份 备份之前先kill当前正在启动的nginx cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # make之后会在当前目录生成 objs 目录 cp objs/nginx /usr/local/nginx/sbin/nginx # 然后重新启动nginx /usr/local/nginx/sbin/nginx -s reload

http 转到 https
  • rewrite的方法:
server { listen80; server_namedomain; location / { rewrite ^/(.*) https://www.lufangyong.com/$1 permanent; } }

  • return的方法:
server { listen80; server_namewww.opqnext.com; return301 https://$server_name$request_uri; }server { listen443 ssl; server_namedomain; }

    推荐阅读