windwos上部署nginx静态图片+apache后台

nginx配置

我之所以这么做是想通过nginx的高性能来处理前端的图片和apache的稳定性来处理后台请求,在服务器上apache搭建的django后台默认的ssl端口为443,naginx默认的ssl默认端口为44,这样前台的服务器走向444后台的服务器走向443
我们先去nginx官网下载,下载完不要直接运行 要通过命令行运行,下面是我整理的运行代码
nginx下载链接: http://nginx.org/en/download.html.

nginx基础命令

路径  E:\nginx\nginx-1.18.0
启动  start nginx
检查是否启动成功 tasklist /fi "imagename eq nginx.exe"
检查配置是否有错 .\nginx -t -c /nginx-1.15.2/conf/nginx.conf
重启 nginx -s reload

我们cd到我们的安装路径下 start nginx 屏幕会闪一下,我们打开任务管理器 里面就有nginx.exe在运行

windows系统使用nginx部署django项目_apache

配置nginx图片服务器

我们在nginx文件夹下的conf里的nginx.fconf的sercer{}

中加入

windows系统使用nginx部署django项目_apache_02

windows系统使用nginx部署django项目_ssl证书_03


alias后就是我们的图片路径文件夹

location /upload/ {
 alias E:/nginx/nginx-1.18.0/html/images/;
 autoindex on;

我们到浏览器输入localhost:8080/images/就可以看到图片了了

windows系统使用nginx部署django项目_nginx_04

nginx配置ssl证书

因为小程序访问的网页一定要安全加密的,所以安装ssl证书才能被访问,我们在conf文件夹下新建了一个cert文件夹用于存放证书,

windows系统使用nginx部署django项目_apache_05


把两个证书文件让如文件夹

windows系统使用nginx部署django项目_nginx_06

我们在nginx配置文件下加入监听444端口的ssl

server {
        listen      自己设置端口 ssl;
        server_name 自己的域名;
        ssl_certificate      cert/4577301_www.dta.hcbxsoft.cn.pem;#修改成你们的文件名称
        ssl_certificate_key  cert/4577301_www.dta.hcbxsoft.cn.key;#修改成你们的文件名称
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  #使用此加密套件。
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;   #使用该协议进行配置。
        ssl_prefer_server_ciphers  on;
		
			location /CQC/{
				alias   E:/nginx/nginx-1.18.0/html/images/;
				autoindex on;
			}
        }

最后我们输入 https://域名:端口号/路由名/文件夹/就可以访问图片了

windows系统使用nginx部署django项目_ssl证书_07


https:标识加密传输

域名:自己的绑定的域名

端口号:同配置里的listen 端口号

路由名:与配置里的location/一样

文件夹名:这个自己在路由名的根目录下创建的

windows系统使用nginx部署django项目_ssl证书_08

apachen配置

基础的配置和安装看我前面教程
链接: .

apachen安装ssl证书

参考:

打开ssl的拓展模块

要打开证书扩展模块,证书文件才会程出现

把主配置文件httpd.conf的

LoadModule ssl_module modules/mod_ssl.so 取消注释

windows系统使用nginx部署django项目_运维_09


Include conf/extra/proxy-html.conf也取消注释

windows系统使用nginx部署django项目_运维_10


然后在#Include conf/extra/httpd-ssl.conf下面写一行加一行配置信息

Include conf/extra/ssl.conf

就是我们用自己的配置文件 不用原来的http-ssl.conf,因为原来的内容太多

windows系统使用nginx部署django项目_ssl证书_11

导入证书到配置中

打开extra文件下新建一个ssl.conf配置文件

windows系统使用nginx部署django项目_apache_12

导入腾讯云ssl证书

这是我们腾讯云免费申请的ssl证书 下载下来后就有三个文件

windows系统使用nginx部署django项目_nginx_13


在apachen的目录下新建cert文件夹 复制三个证书文件到cert目录下

再到Apache24\conf\extra下的我们自己新建ssl.conf里添加代码

Listen 443
<VirtualHost *:443>
ServerName www.chaochaotool.top
ServerAlias example.com
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "${SRVROOT}/cert/2_www.chaochaotool.top.crt"
SSLCertificateKeyFile "${SRVROOT}/cert/3_www.chaochaotool.top.key"
SSLCertificateChainFile "${SRVROOT}/cert/1_root_bundle.crt"
DocumentRoot "C:/xmprogram/cqc/cqc_01"
<Directory "C:/xmprogram/cqc/cqc_01/">
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride all
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

windows系统使用nginx部署django项目_运维_14


ssl证书配置是下面这样按照路径改 其中

${SRVROOT}的意思就是我们在httpd.conf里面设置的apache配置的根目录

windows系统使用nginx部署django项目_运维_15


给大家科普一下,http+ssl=https就是加密的传输方式,我们与网站进行连接都是三次握手的方式传输文件,所以会访问对方我公钥文件,私钥用来辨别身份的,只有自己的私钥可以解开自己的公钥。以下文件注意路径:

这是ssl的设置文件

#ssl的设置文件
SSLCertificateChainFile "${SRVROOT}/cert/1_root_bundle.crt"

windows系统使用nginx部署django项目_ssl证书_16

#网站域名的公钥文件
SSLCertificateFile "${SRVROOT}/cert/2_www.chaochaotool.top.crt"

windows系统使用nginx部署django项目_ssl证书_17

#网站域名的私钥文件
SSLCertificateKeyFile "cert/3_www.chaochaotool.top.key"

windows系统使用nginx部署django项目_运维_18

配置完后用https访问我们自己的域名,就可以成功咯

我们前端可以用444接口,后台用443接口实现动静结合。