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在运行
配置nginx图片服务器
我们在nginx文件夹下的conf里的nginx.fconf的sercer{}
中加入
alias后就是我们的图片路径文件夹
location /upload/ {
alias E:/nginx/nginx-1.18.0/html/images/;
autoindex on;
我们到浏览器输入localhost:8080/images/就可以看到图片了了
nginx配置ssl证书
因为小程序访问的网页一定要安全加密的,所以安装ssl证书才能被访问,我们在conf文件夹下新建了一个cert文件夹用于存放证书,
把两个证书文件让如文件夹
我们在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://域名:端口号/路由名/文件夹/就可以访问图片了
https:标识加密传输
域名:自己的绑定的域名
端口号:同配置里的listen 端口号
路由名:与配置里的location/一样
文件夹名:这个自己在路由名的根目录下创建的
apachen配置
基础的配置和安装看我前面教程
链接: https://blog.csdn.net/qq_44933075/article/details/108064797.
apachen安装ssl证书
参考:https://www.cnblogs.com/potatog/p/10670776.html
打开ssl的拓展模块
要打开证书扩展模块,证书文件才会程出现
把主配置文件httpd.conf的
LoadModule ssl_module modules/mod_ssl.so 取消注释
Include conf/extra/proxy-html.conf也取消注释
然后在#Include conf/extra/httpd-ssl.conf下面写一行加一行配置信息
Include conf/extra/ssl.conf
就是我们用自己的配置文件 不用原来的http-ssl.conf,因为原来的内容太多
导入证书到配置中
打开extra文件下新建一个ssl.conf配置文件
导入腾讯云ssl证书
这是我们腾讯云免费申请的ssl证书 下载下来后就有三个文件
在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>
ssl证书配置是下面这样按照路径改 其中
${SRVROOT}的意思就是我们在httpd.conf里面设置的apache配置的根目录
给大家科普一下,http+ssl=https就是加密的传输方式,我们与网站进行连接都是三次握手的方式传输文件,所以会访问对方我公钥文件,私钥用来辨别身份的,只有自己的私钥可以解开自己的公钥。以下文件注意路径:
这是ssl的设置文件
#ssl的设置文件
SSLCertificateChainFile "${SRVROOT}/cert/1_root_bundle.crt"
#网站域名的公钥文件
SSLCertificateFile "${SRVROOT}/cert/2_www.chaochaotool.top.crt"
#网站域名的私钥文件
SSLCertificateKeyFile "cert/3_www.chaochaotool.top.key"
配置完后用https访问我们自己的域名,就可以成功咯
我们前端可以用444接口,后台用443接口实现动静结合。