前两节内容如下:
《Docker支配web做事器之Nginx篇(一)》
《Docker支配web做事器之PHP篇(二)》

查看一下docker容器的运行情形:
[root@localhost ~]# docker ps -a
容器的运行的情形
看到之前两节先容留下的例子。这一节,只须要用到“myphp8.1”这个容器,nginx-example则用不到。其余创建一个nginx关联容器myphp8.1即可,由于nginx的配置要开拓成在宿主机上可以配置的灵巧办法。
先启动myphp8.1容器:
[root@localhost ~]# docker start 8f26a5307523[root@localhost ~]# docker ps
启动myphp8.1容器
启动PHP成功后,可以看到开启了9000端口,这个端口便是fpm的端口。通过这个端口nginx就能跟PHP交互了。
Nginx配置在宿主机上进行一下做事器的配置,紧张是配置nginx即可,PHP暂时采取默认的配置。在宿主机创建nginx的配置目录,并创建conf配置文件,代码如下:
[root@localhost ~]# mkdir -p /usr/local/services/nginx/conf/vhosts/[root@localhost ~]# vim /usr/local/services/nginx/conf/vhosts/localhost.conf server { listen 80; server_name localhost; location / { root /data/www; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /data/www; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/$fastcgi_script_name; include fastcgi_params; } } //退出保存
启动nginx并关联PHP
启动命令,须要添加刚才nginx的配置目录和PHP脚本目录的映射,如下:
[root@localhost ~]# docker run --name php-nginx -p 80:80 -d -v /data/web:/data/www:ro -v /usr/local/services/nginx/conf/vhosts:/etc/nginx/conf.d:ro --link myphp8.1:php nginx[root@localhost ~]# docker ps
创建nginx容器并关联PHP
php-nginx容器如果运行不起来,看看是不是挂载的目录不对,或者nginx配置文件写错了。启动成功后,通过ip访问一下web做事器,会提示403缺点。有这个提示,意味着离成功只差一步了。下一步,我们只须要写一些PHP脚本放到宿主机的/data/web目录下,就可以坐享成功的喜悦了。
没有PHP脚本的访问结果
测试例子在宿主/data/web下创建一个index.php:
[root@localhost ~]# cd /data/web/[root@localhost web]# vim index.php <?php echo "hello Nginx and PHP.Nice to meet you!!!"; //保存退出
运行一下:
成功运行PHP脚本
到此为止,docker、nginx、PHP搭建web做事器大功告成了!
当然了,这个只是初步的,还有更多的配置须要优化,功能等着我们去学习和探索。至于mysql,redis,kafka等数据存储软件,我们还须要安装吗?如果我们是用来学,建议安装。如果用于天生环境,建议购买云数据库,可以省去很多运维本钱,和做事器本钱。
文末再次附上web做事器三部曲:
《Docker支配web做事器之Nginx篇(一)》
《Docker支配web做事器之PHP篇(二)》
《Docker支配web做事器之Nginx与PHP联合篇(三)》
你的关注,是我提高的动力,后续会推出更多短小精悍的章节,大家一起学习。在web架构方面,我们从来没停过,一贯在路上。。。
欢迎关注本账号,不迷路。
我分享,我快乐!