大家需要一台服务器,静态服务器配置需求不算很高,推荐1核2g及以上。
一、安装 dockerlinux服务器使用curl下载快速安装的shell脚本
curl -fssl get.docker.com -o get-docker.sh
下载完成后,可以ls命令查看一下。已经存在的话,使用sh命令执行这个脚本
sh get-docker.sh
注意如果不是root用户,需要使用sudo su获取超级管理员权限。
安装完成后启动一下docker server
systemctl start docker
使用docker version命令能看到client和server就启动成功了。
二、使用 docker 安装 nginx1. 先运行一次 nginx,为了拷贝容器内配置文件到本地docker run -d -p 80:80 --name nginx \ -v /home/nginx/html:/usr/share/nginx/html \ -v /home/nginx/logs:/var/log/nginx \ nginx:latest
2. 拷贝容器内配置文件到本地docker container cp nginx:/etc/nginx /home/nginx/cd /home/nginxmv nginx conf
3. 删除之前的容器docker stop nginxdocker rm nginx
4. 根据本地配置文件运行新容器docker run -d -p 80:80 -p 443:443 --name nginx \ -v /home/nginx/conf:/etc/nginx \ -v /home/nginx/logs:/var/log/nginx \ -v /home/nginx/html:/usr/share/nginx/html \ nginx:latest
如果不需要配置ssl证书开启https访问,此时就可以把这个nginx当作普通静态服务器使用了。
其中/home/nginx中的几个文件夹:
conf: nginx的配置文件,具体配置可以看官网
html: 放静态资源,如html、css、js等
logs: 日志文件夹,访问的日志可以在其中查看
改了配置文件,记得通过docker restart nginx重启下nginx。
三、配置 ssl 证书开启 https 访问1. 在云服务厂商申请 ssl 证书我是在腾讯云申请的ssl证书,提交申请资料了,会让配置一个txt类型的域名解析,然后等待通过就行。
申请通过后,下载nginx服务器类型的证书。
2. 把证书解压后上传到证书文件夹在conf/conf.d创建cert证书文件夹
cd /home/nginx/conf/conf.dmkdir cert
把刚才下载的证书上传到这个文件夹
3. 修改 nginx 配置开启 https 访问vi /home/nginx/conf/conf.d/default.conf
写入以下内容
server { #ssl 访问端口号为 443 listen 443 ssl; #填写绑定证书的域名 server_name 0101.ml; #证书文件名称 ssl_certificate /etc/nginx/conf.d/cert/0101.ml_bundle.pem; #私钥文件名称 ssl_certificate_key /etc/nginx/conf.d/cert/0101.ml.key; ssl_session_timeout 5m; #请按照以下协议配置 ssl_protocols tlsv1 tlsv1.1 tlsv1.2; #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 ssl_ciphers ecdhe-rsa-aes128-gcm-sha256:high:!anull:!md5:!rc4:!dhe; ssl_prefer_server_ciphers on; location / { #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。 root /usr/share/nginx/html; index index.html index.htm; }}server { listen 80; #填写绑定证书的域名 server_name falser.top; #把http的域名请求转成https return 301 https://$host$request_uri;}
需要改的地方:
server_name: 改为自己的域名(两处)
ssl_certificate: .crt后缀的证书文件
ssl_certificate_key: .key后缀的证书私钥文件
推荐学习:《docker视频教程》
以上就是带你搞懂怎么基于docker安装nginx搭建静态服务器的详细内容。
