网站首页 > 精选教程 正文
内容回顾,前面两节,已经介绍了docker的安装,nginx的安装,还有PHP的安装。这一小节则是要介绍,怎么让这三个毫无关联的软件,给关联上。
前两节内容如下:
启动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
启动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
php-nginx容器如果运行不起来,看看是不是挂载的目录不对,或者nginx配置文件写错了。启动成功后,通过ip访问一下web服务器,会提示403错误。有这个提示,意味着离成功只差一步了。下一步,我们只需要写一些PHP脚本放到宿主机的/data/web目录下,就可以坐享成功的喜悦了。
测试例子
在宿主/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!!!";
//保存退出
运行一下:
到此为止,docker、nginx、PHP搭建web服务器大功告成了!
当然了,这个只是初步的,还有更多的配置需要优化,功能等着我们去学习和探索。至于mysql,redis,kafka等数据存储软件,我们还需要安装吗?如果我们是用来学,建议安装。如果用于生成环境,建议购买云数据库,可以省去很多运维成本,和服务器成本。
文末再次附上web服务器三部曲:
《Docker部署web服务器之Nginx与PHP联合篇(三)》
你的关注,是我前进的动力,后续会推出更多短小精悍的章节,大家一起学习。在web架构方面,我们从来没停过,一直在路上。。。
欢迎关注本账号,不迷路。
我分享,我快乐!
- 上一篇: Gentoo 安装配置Nginx+PHP
- 下一篇: nginx搭建简易负载均衡服务
猜你喜欢
- 2024-09-22 docker中运行php文件
- 2024-09-22 php nginx修改文件最大上传限制的方法
- 2024-09-22 CentOS下通过yum搭建lnmp(单版本PHP)
- 2024-09-22 nginx搭建简易负载均衡服务
- 2024-09-22 Gentoo 安装配置Nginx+PHP
- 2024-09-22 PHP与nginx之间运行机制及其原理的详细介绍
- 2024-09-22 CentOS下通过yum搭建lnmp(多版本PHP)
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)