先前是已经安装了nginx,没有安装ssl模块
所以先给nginx安装ssl模块
1.看下编译安装nginx的时候,都编译安装的哪些模块。
[root@zabbix ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx
2.进入之前下载并解压了的源码包目录;重新编译nginx
[root@zabbix nginx-1.8.0]# cd /usr/local/src/nginx-1.8.0
[root@zabbix nginx-1.8.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@zabbix nginx-1.8.0]# make
注意:这一步千万不能 make install ;不然会把之前已经安装的nginx 覆盖掉
3.需要替换nginx二进制文件,先停止掉nginx进程;备份一下原来的启动脚本。
[root@zabbix nginx-1.8.0]# /etc/init.d/nginx stop
[root@zabbix nginx-1.8.0]# cp /etc/init.d/nginx /etc/init.d/nginx.bak
[root@zabbix nginx-1.8.0]# cp objs/nginx /usr/local/nginx/sbin/
cp: overwrite `/usr/local/nginx/sbin/nginx'? yes
4.查看nginx的模块,看下是否把需要的模块编译进去了
[root@zabbix ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
5.重新启动nginx;
[root@zabbix nginx-1.8.0]# /etc/init.d/nginx start
好了,此时已经给nginx安装了ssl模块,下面要为nginx生成ssl证书
6.首先执行如下命令生成一个key
openssl genrsa -des3 -out ssl.key 1024
7.然后他会要求你输入这个key文件的密码。不推荐输入。因为以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
由于生成时候必须输入密码。你可以输入后再删掉。
mv ssl.key xxx.key
openssl rsa -in xxx.key -out ssl.key
rm xxx.key
8.然后根据这个key文件生成证书请求文件
openssl req -new -key ssl.key -out ssl.csr
以上命令生成时候要填很多东西 一个个看着写吧(可以随便,毕竟这是自己生成的证书)
9.最后根据这2个文件生成crt证书文件
openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt
这里365是证书有效期。这个大家随意。最后使用到的文件是key和crt文件。
10.如果需要用pfx 可以用以下命令生成
openssl pkcs12 -export -inkey ssl.key -in ssl.crt -out ssl.pfx
好了,至此生成完证书的生成,下面进行nginx配置文件修改,使其拥有https访问能力
11.修改nginx.conf
server {
ssi on;
listen 80;
listen 443 ssl;
ssl_certificate /opt/deploy/cert/ssl.crt;
ssl_certificate_key /opt/deploy/cert/ssl.key;
12.重启nginx
sbin/nginx -s reload
好了,至此nginx就能通过http和https访问了
分享到:
相关推荐
要使Nginx能够同时监听HTTP和HTTPS,我们需要在server块中同时使用listen指令监听80和443端口,并且对于443端口,需要指定ssl证书和密钥。这样配置后,Nginx可以处理HTTP请求,并对HTTPS请求进行加密处理。特别的,...
Linux系统中配置多版本PHP与Nginx服务器共存涉及的概念和操作主要包括以下几个方面: 1. LNMP环境:LNMP是指Linux操作系统、Nginx服务器、MySQL数据库和PHP语言所构成的一种网站服务器架构。在这种架构中,Nginx...
本文实例讲述了Linux服务器下Nginx与Apache共存的实现方法。分享给大家供大家参考,具体如下: 同一个端口是不能同时有两个程序监听的。所以换个思路解决同一台服务器下某些网站运行在nginx下,某些网站运行在Apache...
这是因为Nginx通常用来作为反向代理服务器,或者在某些情况下,和IIS等其他Web服务器共存。因此,Nginx的配置独立于IIS,即使在IIS环境下,也可以通过Nginx实现安全控制。 在实际部署中,上传目录通常需要具有写...
Nginx支持通过虚拟主机来实现多个网站共存于同一台服务器上。例如: ```nginx server { listen 80; server_name www.emb.info; access_log emb.info/logs/access.log; location / { index index.html; ...
7. **与IIS的兼容性**:UPUPW的Nginx可能考虑到了与Microsoft IIS(Internet Information Services)的共存,这在一些需要混合使用不同Web服务技术的环境中很有价值。 8. **安全性**:作为服务器软件,Nginx的安全...
通过设置不同的 PHP 版本安装路径、修改 PHP-FPM 的监听端口以及编写特定的 Nginx 配置,可以有效地解决同一服务器上多版本 PHP 共存的问题。这对于处理复杂的应用场景非常有用,尤其是当不同项目或服务依赖于不同...
1、全面适合 Win2000/XP/2003/win7/win8/win2008 操作系统 ,支持Apache、IIS、Nginx和LightTPD。 2、该程序包集成以下软件,括号内为phpstudy下对应的目录。 php 7.0.12 php 5.6.27 php 5.5.38 php 5.4.35...
当与数据库等其他服务共存于同一服务器时,建议设置为1;对于高流量站点或独立部署场景,推荐按照CPU核心数分配,例如使用 `worker_processes auto;` 自动根据CPU核心数进行配置。手动配置时,可通过 `/proc/cpuinfo...
Nginx是一款高性能的HTTP和反向代理Web服务器,它以其稳定性、丰富的功能集、简单的配置文件和低资源消耗而闻名。在Linux环境中部署Nginx非常便捷。 ##### 1.1 Ubuntu系统的安装 在Ubuntu系统中,可以通过`apt`包...
在Windows上部署Nginx,可以方便地集成到Windows服务器环境中,与IIS或其他Windows服务共存。 **配置与管理** Nginx的配置文件通常位于`conf/nginx.conf`,可以通过修改这个文件来定制服务器的行为。配置文件采用...
主要介绍了使用Nginx实现服务器中多容器共存的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
在Nginx中设置虚拟主机和指定访问路径是实现多站点共存的关键技术。本文将详细介绍如何在Nginx中设置虚拟主机以及如何配置指定的访问路径。 1. Nginx虚拟主机配置基础 在Nginx中配置虚拟主机的基本思路是为每一个...
IIS和apache共用80端口(共存) Windows server 2003服务器上安装有默认 IIS 6,IIS运行asp程序,现需要安装apache运行php程序,想让它们同时都能通过80端口访问,设置如下:
2. **新旧共存**:新旧服务器在同一时间处理请求,新服务器开始接收新的连接,而旧服务器继续处理已有的连接。 3. **旧服务器优雅退出**:在旧服务器完成所有已接收请求的处理后,它会优雅地退出,释放资源,此时新...
这种部署方式对于多项目共存或者需要隔离不同环境的应用场景非常有用。通过灵活地调整`base`和`location`配置,可以适应不同的部署需求。同时,NGINX的反向代理特性还提供了负载均衡、缓存等高级功能,能进一步优化...