当前位置: 首页 > 后端技术 > PHP

从零开始搭建网站环境(php-yafnginxmariadb)第二章

时间:2023-03-29 19:13:52 PHP

上一章我们讲了如何购买域名绑定IP。本章打算讲一下服务器环境配置系统:CentOS7我的环境依赖Docker,什么?不了解Docker?百度到...注意:这里开启防火墙会导致nginx502错误。为了不影响后续操作,建议先关闭防火墙。操作防火墙状态后,需要重启Docker服务。从安装Docker开始:首先切换到root用户:[zeronofreya@vultr~]$suPassword:[root@vultrzeronofreya]#InstallDockeryum-yinstalldocker启动Docker服务systemctlstartdocker。服务配置Docker。启动systemctl启用docker.service。至此,Docker已经安装好了……不过为了更好玩,我推荐安装docker-compose和安装pip工具yum-yinstallepel-releaseyuminstall-ypython-pip升级pip版本pipinstall--upgradepip安装docker-composepipinstall-Udocker-composeOK,准备工作就完成了。安装环境创建在根目录下,方便管理docker(当然你也可以在自己喜欢的地方创建)mkdir/docker&&cd"$_"安装php在docker文件夹下创建php文件夹,进入mkdirphp&&cd"$_"创建和编辑docker-compose.yml文件vidocker-compose.yml内容为:version:"3.5"networks:zf_site_network:name:zf_site_networkservices:php:container_name:phpimage:php:7.2-fpmprivileged:trueports:-"9000:9000"restart:alwaysvolumes:-/docker/www:/usr/share/nginx/wwwnetworks:-zf_site_network环境:-TZ=Asia/Shanghai启动php容器docker-composeup-d挂载配置文件(php.ini)newconf文件夹mkdirconf复制php.ini到confdockercpphp:/usr/local/etc/php/php.ini/docker/php/conf挂载conf目录-编辑docker-compose.ymlvidocker-compose.ymlvolumes:-/docker/www:/usr/share/nginx/www改为:volumes:-/docker/www:/usr/share/nginx/www-/docker/php/conf:/usr/local/etc/php重新创建一个phpcontainerdocker-composeup-dinstallNginx在docker文件夹下创建nginx文件夹,输入cd/dockermkdirnginx&&cd"$_"创建编辑docker-compose.yml文件vidocker-compose.yml内容为:version:“3.5”网络:zf_site_network:名称:zf_site_networkservices:nginx:container_name:nginx图像:nginx特权:真实端口:-“80:80”-“443:443”重新启动:始终卷:-/docker/www:/usr/share/nginx/www-/docker/nginx/conf:/etc/nginx/conf.dnetworks:-zf_site_network环境:-TZ=Asia/Shanghai编辑nginx配置文件在nginx文件夹下创建conf文件夹,进入mkdirconf&&cd"$_"创建一个新配置filevi你的域名_80.conf比如vizeronofreya.online_80.conf,文件名可任意命名,但为了查找方便,建议统一格式内容为:(注意修改)server{listen80;server_name你的域名;根网站根目录;位置/{索引索引。php索引.html;}if(!-e$request_filename){最后重写^/(.*)/index.php/$1;}location~\.php(.*)${fastcgi_passphp:9000;fastcgi_index索引。PHP;fastcgi_split_path_info^((?U).+\.php)(/?.+)$;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;fastcgi_paramPATH_INFO$fastcgi_path_info;fastcgi_paramPATH_TRANSLATED$document_root$fastcgi_path_info;包括fastcgi_params;}}建设网站目录cd/dockermkdirwww&&cd"$_"echo"">info.php网站目录可以选择任意位置启动nginx容器docker-composeup-d注:php必须在nginx之前启动,因为fastcgi_passphp:9000;在nginx配置文件中使用,这个php指的是容器名(container_name)。即表示启动成功我们去浏览器看看效果:访问http://你的域名地址,看到下图,说明你已经成功安装了yaf扩展(反正你得有框架),进入php容器dockerexec-php/bin/bashinstallYafpeclinstallyafexitcontainerexiteditphp.ini在底部(head)添加Yaf配置,注意格式vi/docker/php/conf/php.ini[Yaf]extension=yaf.soyaf.environ="product"重启php容器dockerrestartphp刷新浏览器,按Ctrl+F找到yaf,如果出现下图,说明mariadb安装成功在docker文件夹下创建mariadb文件夹,并输入cd/dockermkdirmariadb&&cd"$_"mkdirdb创建编辑docker-compose.yml文件vidocker-compose.yml内容为:(注意修改密码)version:"3.5"networks:zf_site_network:name:zf_site_networkservices:mariadb:container_name:mariadb图像:mariadb特权:true端口:-“3306:3306”重启:始终卷:-/docker/mariadb/db:/var/lib/mysql网络:-zf_site_network环境:-MYSQL_ROOT_PASSWORD=password-TZ=Asia/Shanghai命令:--character-set-server=utf8mb4--collat??ion-server=utf8mb4_unicode_ci启动mariadb容器docker-composeup-dOK,环境基本搭建完成。未完待续...内容:从头搭建网站环境(php-yafnginxmariadb)第1章从头搭建网站环境(php-yafnginxmariadb)第2章从头搭建网站环境(php-yafnginxmariadb)第三章从头搭建网站环境(php-yafnginxmariadb)附篇-跨域