上一章咱们讲了如何购买域名及与IP的绑定,这一章我打算说说服务器的环境配置
系统:CentOS 7php
个人环境依赖于Docker
,什么?不知道Docker
?百度去……html
注:
我这里开启防火墙
会致使 nginx 502错误,为了避免影响后续的操做,建议先关闭防火墙
。
操做防火墙状态后须要重启Docker服务
Docker
开始:首先切到root
用户下:python
[zeronofreya@vultr ~]$ su Password: [root@vultr zeronofreya]#
安装 Docker
mysql
yum -y install docker
启动 Docker
服务nginx
systemctl start docker.service
配置 Docker
开机自启动sql
systemctl enable docker.service
至此,Docker已经安装完毕……但为了更好地玩耍,我建议一并安装docker-compose
docker
安装pip工具segmentfault
yum -y install epel-release yum install -y python-pip
升级pip版本浏览器
pip install --upgrade pip
安装docker-composebash
pip install -U docker-compose
OK,准备工做作好了
在根目录新建文件夹docker方便管理(固然你也能够在你喜欢的地方创建)
mkdir /docker && cd "$_"
在docker文件夹下创建php文件夹并进入
mkdir php && cd "$_"
新建并编辑 docker-compose.yml
文件
vi docker-compose.yml
内容为:
version: "3.5" networks: zf_site_network: name: zf_site_network services: php: container_name: php image: php:7.2-fpm privileged: true ports: - "9000:9000" restart: always volumes: - /docker/www:/usr/share/nginx/www networks: - zf_site_network environment: - TZ=Asia/Shanghai
启动php容器
docker-compose up -d
挂载配置文件(php.ini)
新建conf文件夹
mkdir conf
复制php.ini到conf
docker cp php:/usr/local/etc/php/php.ini /docker/php/conf
挂载conf目录——编辑docker-compose.yml
vi docker-compose.yml
volumes: - /docker/www:/usr/share/nginx/www
改成:
volumes: - /docker/www:/usr/share/nginx/www - /docker/php/conf:/usr/local/etc/php
从新建立php容器
docker-compose up -d
在docker文件夹下创建nginx文件夹并进入
cd /docker mkdir nginx && cd "$_"
新建并编辑 docker-compose.yml
文件
vi docker-compose.yml
内容为:
version: "3.5" networks: zf_site_network: name: zf_site_network services: nginx: container_name: nginx image: nginx privileged: true ports: - "80:80" - "443:443" restart: always volumes: - /docker/www:/usr/share/nginx/www - /docker/nginx/conf:/etc/nginx/conf.d networks: - zf_site_network environment: - TZ=Asia/Shanghai
编辑nginx配置文件
在nginx文件夹下创建conf文件夹并进入
mkdir conf && cd "$_"
新建配置文件
vi 你的域名_80.conf
好比
vi zeronofreya.online_80.conf
, 文件名能够随意起,但为了查找方便,建议统一格式
内容为:(注意修改)
server { listen 80; server_name 你的域名; root 网站根目录; location / { index index.php index.html; } if (!-e $request_filename) { rewrite ^/(.*) /index.php/$1 last; } location ~ \.php(.*)$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
创建网站目录
cd /docker mkdir www && cd "$_" echo "<?php phpinfo(); ?>" > info.php
网站目录能够随意选位置
启动nginx容器
docker-compose up -d
注:php必定要先于nginx启动,由于nginx配置文件中用到了
fastcgi_pass php:9000;
,这个php指的就是容器名(container_name)
不出意外的话,php及nginx应该都启动成功了,能够查看一下:
docker ps -a
STATUS的状态为Up即表明启动成功。
让咱们到浏览器中看一下效果吧:
访问 http://你的域名地址
看到下图就表示成功了
进入php容器
docker exec -it php /bin/bash
安装Yaf
pecl install yaf
退出容器
exit
编辑php.ini 在最底部(头部)添加Yaf配置,注意格式
vi /docker/php/conf/php.ini
[Yaf] extension=yaf.so yaf.environ="product"
重启php容器
docker restart php
刷新下浏览器,按Ctrl+F
查找yaf
,若是显示下图,就说明成功了
在docker文件夹下创建mariadb文件夹并进入
cd /docker mkdir mariadb && cd "$_" mkdir db
新建并编辑 docker-compose.yml
文件
vi docker-compose.yml
内容为:(注意修改密码)
version: "3.5" networks: zf_site_network: name: zf_site_network services: mariadb: container_name: mariadb image: mariadb privileged: true ports: - "3306:3306" restart: always volumes: - /docker/mariadb/db:/var/lib/mysql networks: - zf_site_network environment: - MYSQL_ROOT_PASSWORD=密码 - TZ=Asia/Shanghai command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
启动mariadb容器
docker-compose up -d
好了,环境大体上搭完了。
未完待续……