在Linux系统安装Nginx及配置https加密访问
2019独角兽企业重金招聘Python工程师标准>>>
1、安装nginx
①、为了确保能在 nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。您可以到 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.bz2
# tar jxvf pcre-8.12.tar.bz2
# cd pcre-8.10
# ./configure –enable-utf8
# make
# make install
②、为nginx创建用户及用户组
# useradd www-nginx
# groupadd www 如果www用户组已经存在就跳过些步
# gpasswd -a www-nginx www
③、安装nginx
# wget http://nginx.org/download/nginx-1.0.3.tar.gz
# tar zxvf nginx-1.0.3.tar.gz
# cd nginx-1.0.3
# ./configure
–prefix=/usr
–sbin-path=/usr/sbin/nginx
–conf-path=/etc/nginx/nginx.conf
–error-log-path=/var/log/nginx/error.log
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–user=www-nginx
–group=www
–with-http_ssl_module
–with-http_stub_status_module
–with-http_flv_module
–with-http_gzip_static_module
–http-log-path=/var/log/nginx/access.log
–http-client-body-temp-path=/var/tmp/nginx/client/
–http-proxy-temp-path=/var/tmp/nginx/proxy/
–http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
// 简单安装 ./configure –user=www-nginx –group=www –prefix=/opt/nginx –with-http_stub_status_module –with-http_ssl_module
# make
# make install
–with-http_stub_status_module 是为了启用 nginx 的 NginxStatus 功能,用来监控 nginx 的当前状态。
–with-http_ssl_module 启用http_ssl模块
–with-ipv6 支持ipv6
安装成功后 /opt/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中 nginx 的配置文件存放于 conf/nginx.conf,nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin/nginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 nginx 已经安装并运行成功。
2、使用 OpenSSL 生成证书
创建并进入sslkey存放目录
# mkdir /opt/nginx/sslkey
# cd /opt/nginx/sslkey
①、生成RSA密钥:
# openssl genrsa -out key.pem 2048
②、生成一个证书请求
# openssl req -new -key key.pem -out cert.csr
# //会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的你可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。
如果是自己做测试,就可以用下面这个命令来生成证书:
# openssl req -new -x509 -nodes -out server.crt -keyout server.key
③、修改 nginx 配置
upstream payment {
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
# HTTPS server
#
server {
listen 443;
server_name www.openeasy.net;
ssl on;
ssl_certificate /opt/nginx/sslkey/server.crt;
ssl_certificate_key /opt/nginx/sslkey/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://payment/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 10s;
proxy_read_timeout 10s;
}
}
3、配置jexus linux dotnet服务器集群
upstream payment {
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
这里的server就是你的Jexus的服务器列表具体配置参见 用Jexus V4.2 搭建Linux dotnet web server
常用的 Nginx 参数和控制
程序运行参数
Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
-c :使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令
sbin/nginx – t – c conf/nginx2.conf
通过信号对 nginx 进行控制
nginx 支持下表中的信号:
信号名 作用描述
TERM, INT 快速关闭程序,中止当前正在处理的请求
QUIT 处理完当前请求后,关闭程序
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。
转载于:https://my.oschina.net/zhangjie830621/blog/282245
在Linux系统安装Nginx及配置https加密访问相关推荐
- nginx容器配置https后访问有时显示连接被重置
问题描述 配置https的步骤很简单,我这里用的是阿里云的免费ssl证书,然后发现访问https时灵时不灵的,纠结了很久,重复了好几次配置步骤,然后发现配置步骤其实是没问题的,浏览器多刷新下,就能够出 ...
- Nginx 网站使用 acme配置 https证书访问步骤
https://blog.ekanshu.com.cn 使用 acme配置 https访问 Nginx 网站使用 acme配置 https证书访问步骤 错误信息 由于之前配置过,从新使用名称更新配置文 ...
- linux服务器安装mysql并配置外网访问
linux服务器安装mysql并配置外网访问 更新系统,如果不运行该命令,直接安装mysql,会出现"有几个软件包无法下载 sudo apt-get update 安装mysql sudo ...
- Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置
Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置 ============================== ©Copyright 蕃薯耀 2017 ...
- Linux安装nginx并配置ssl
在linux下安装nginx,首先需要安装 gcc-c++编译器.然后安装nginx依赖的pcre和zlib包.最后安装nginx即可. 1.先安装gcc-c++编译器 yum install gcc ...
- linux7.3的域名配置表,Centos7.3 安装部署Nginx并配置https的方法步骤
安装环境 1. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译 编译依赖 gcc 环境: yum install gcc-c++ 2. PCRE pcre-devel 安装 安装pcr ...
- Linux安装Nginx以及配置前端项目
下载安装先配置环境 yum install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum inst ...
- Nginx之配置https/wss
需求 一般我们开发的应用程序,部署的时候使用的是http/ws协议,明文的,不安全.怎样让它安全的通过互联网传输呢? 解决 通过 nginx 在客户端和服务端做一个转发,客户端通过 https/wss ...
- nginx配置https图片访问报404问题
解决方法 1.去掉upload 产生问题 原因: root路径原理:Nginx root 配置的意思是,会在root配置的目录后跟上location路径,组成对应的文件路径.意思就是我们在浏览器输入的 ...
最新文章
- 约瑟夫环问题的两种解法(详解)
- Cisco交换机与路由器的密码恢复_路由交换
- 智慧城市建设必须认真对待的几个问题(一):IPV6作为地址的问题
- JSON动态解析()
- KMeans和KMedoid 的Matlab实现
- 电脑物理内存与虚拟内存的区别与关系
- Git之常见的标签操作
- RabbitMQ/pika模块
- Spark streaming粗粒度工作原理
- Android 系统(80)---Android 8.0 7.0 6.0 动态权限管理
- 吴恩达机器学习【第六天】神经网络模型
- 科技公司如何占据了你的每一分钟?
- Java 中isEmpty和null、 的区别
- 《Effective Java》,关于异常
- Basic4IOS B4I开发原生iOS,Visual Studio中编程
- 「Vue实战」武装你的前端项目
- 银行储蓄管理系统 课程设计
- php 递归删目录和文件,php递归删除目录与文件的方法
- 一把通过CISA考试!老司机带你上车
- pyspark之dataframe当前行与上一行值求差
热门文章
- 自然语言处理(1)-概述
- flask 安装flask_resultful
- codeforces 136A-C语言解题报告
- 如何创建比C语言更快的编程语言?
- 使用Cygwin实现vlc 1.0.5的wince移植
- Docker常用命令、超实用、讲解清晰明了(rm、stop、start、kill、logs、diff、top、cp、restart ...)
- com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.184.1 access service com.foreveross.syst
- 配置Oracle Instant Client环境
- USACO Training Section 5.1 Fencing the Cows 圈奶牛(凸包)
- BZOJ1031: [JSOI2007]字符加密Cipher