写在前面
静态资源一般都可以放在服务器上,再Nginx反向代理一下就可以了,不过公司的前端静态资源都会放在OSS(阿里)里,所以也想自己实现一下。ps:可能我的配置方法不是最优
优点
- 不占用服务器的带宽和磁盘
缺点
- OSS要另外花钱(滑稽)
其实OSS也不贵,一年也就几十块钱,而且我买的服务器只有系统盘,虽然静态资源不大,但是也可以自己实现一下动静分离。无论技术怎么选择,能提升自己就是最好的选择。
前提条件
远程登录工具(windows:Xshell,Mac:FinalShell)
阿里OSS
静态资源(html,css,js)
OSS配置
OSS权限配置
需要配置为公共读,不能配置为私有。
OSS绑定域名
OSS配置CDN(可选)
控制台搜索CDN,源站配置选择静态资源所在的Bucket
上传静态资源到OSS
阿里云OSS上传文件这次我们就用阿里的控制台,点击上传文件夹把静态资源上传到OSS中。
选中自己的域名
OSS配置默认静态界面
nginx配置
server {
listen 443 ssl;
server_name www.domian.cn; #监听的域名
charset utf-8;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
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; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;client_max_body_size 1024m;
# 不想把静态资源放在OSS里的,直接放在Nginx存放静态文件的目录下
# location /{
# root /usr/share/nginx/html/home;
# index index.html index.htm;
# }
# 建议从复制你的目录,复制index.html的地址再去掉后缀
location / {
proxy_pass https://yourdomian.cn/html/home/;
}
}