哪个网站专门做游戏脚本,惠州做网站哪家公司好,响应式网站 app,抖音流量推广神器软件1、模拟应用场景描述
假设我要搭建一个站点#xff0c;假设虚拟的域名为#xff1a;api.test.site#xff0c;利用docker实现nginxphp-fpmmariadb部署。
2、目录结构
2.1、dockers根目录
由于目前的安装是基于Win10VMWareCentOS虚拟机#xff0c;同时已经安装了VMWareT…1、模拟应用场景描述
假设我要搭建一个站点假设虚拟的域名为api.test.site利用docker实现nginxphp-fpmmariadb部署。
2、目录结构
2.1、dockers根目录
由于目前的安装是基于Win10VMWareCentOS虚拟机同时已经安装了VMWareTools并配置了虚拟目录虚拟目录是仅仅是为了简化文件的传输虚拟目录在CentOS里的全路径为/mnt/hgfs/dockers此目录为CentOS里的dockers根目录读者可以根据需要自己指定dockers根目录。
2.2、演示项目目录结构 图1 dockers演示项目目录结构 3、安装nginx
3.1、windows环境下修改hosts文件实现虚拟域名的解析
在文件夹C:\Windows\System32\drivers\etc下找到hosts文件并编辑加入一行
192.168.16.128 api.test.site保存即可。其中192.168.16.128为我现在VMware虚拟机里的centos的ip地址请读者改成自己环境下的正确配置。
3.2、编写nginx部署配置文件test_site_nginx.yml
在文件夹/mnt/hgfs/dockers/test_site/compose下创建文件test_site_nginx.yml内容如下
图2 nginx 部署配置文件内容 version: 3.5
services:test_site_nginx:container_name: test_site_nginximage: nginx:1.13privileged: truerestart: alwaysnetworks:- test_site_networkports:- 80:80- 443:443volumes:- /mnt/hgfs/dockers/test_site/www:/var/test_site/www- /mnt/hgfs/dockers/nginx/conf.d:/etc/nginx/conf.denvironment:- TZAsia/Shanghai
networks:test_site_network:name: test_site_network3.3、站点默认页面及nginx支持HTTP协议访问的配置
1编辑生产index.html文件
进入目录 /mnt/hgfs/dockers/test_site/www编辑生成index.html文件内容为
hello world!!!!!! From index.html2编辑生成nginx默认配置问default.conf
进入目录/mnt/hgfs/dockers/nginx/conf.d编辑生产default.conf。内容为
server {listen 80;server_name api.test.site;location / {root /var/test_site/www;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html {root /var/test_site/www;}
}3运行docker-compose命令进行部署
docker-compose -f test_site_nginx up -d图3 docker-compose部署nginx 4验证安装效果
在浏览器里访问http://api.test.site返回结果如下
图4 验证通过http访问nginx 的80端口成功 验证通过http协议访问nginx的80端口成功
3.4、ssl证书的生成及nginx支持https协议访问的配置
3.4.1、ssl证书的生成
cd /mnt/hgfs/dockers/nginx/ssl1设置server.key
这里需要设置两遍密码自己随便选一个密码输入两次:
openssl genrsa -des3 -out server.key 1024图5 生成server.kry 会在当前目录下生成文件server.key
2参数设置
这里需要输入之前设置的密码:
openssl req -new -key server.key -out server.csr由于是测试可以随便输入一些信息就可以了这样会生成文件server.csr
3写RSA秘钥
这里也要求输入之前设置的密码
openssl rsa -in server.key -out server_nopwd.key生成文件server_nopwd.key使用这个文件可以在应用时避免输入密码
4获取私钥:
openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt完成这一步之后就得到了我们需要的证书文件和私钥了
图6 ssl证书及私钥文件 3.4.2、配置nginx服务器支持https访问
1修改yml文件
修改test_site_nginx.yml文件增加ssl目录的绑定
图7 在yml文件里增加ssl目录绑定 2修改配置文件default.conf添加ssl支持
图8 修改配置文件default.conf添加ssl支持 红色框内为新增的配置项。修改后的文件内容如下
server {listen 80;listen 443 ssl;server_name api.test.site;#ssl on;ssl_certificate /etc/nginx/ssl/server.crt;ssl_certificate_key /etc/nginx/ssl/server_nopwd.key;# 指定密码为openssl支持的格式ssl_protocols SSLv2 SSLv3 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5; # 密码加密方式ssl_prefer_server_ciphers on; # 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码location / {root /var/test_site/www;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html {root /var/test_site/www;}
}3卸载和重新安装nginx
cd /mnt/hgfs/dockers/test_site/compose
docker-compose -f test_site_nginx down
docker-compose -f test_site_nginx up -d4测试https访问
浏览器里输入https://api.test.site会出现问题返回结果为
图9 https访问出现问题 点击“高级”按钮出现下面界面
图10 高级选项后的界面 点击红框中的链接 继续前往api.test.site不知道什么原因就是证书不对但可以在“不安全”的模式下访问到首页index.html总算是可以访问了也算基本成功吧哪位有正确处理的方法请赐教谢谢。
图11 不安全的模式访问成功 上一篇Docker搭建LNMP环境实战06Docker及Docker-compose常用命令
下一篇Docker搭建LNMP环境实战08安装php-fpm