使用docker部署php7 mysql nginx(richarvey/nginx-php-fpm+mysql)

启动mysql容器

docker run --name mysql \ 
-e MYSQL_ROOT_PASSWORD=123456  \
--restart=always \
-v `pwd`/mysql:/var/lib/mysql \
-d mysql

--name 起别名

-e MYSQL_ROOT_PASSWORD=123456   初始密码设置为123456

--restart=always 在docker启动的时候启动容器

-v `pwd`/mysql:/var/lib/mysql 将目录映射到容器(数据到存储路径)


启动php和nginx
docker run  --name web \
--restart=always \
-v `pwd`/logs:/var/log/nginx \
-v `pwd`/nginx:/etc/nginx/sites-enabled \
-v `pwd`/www:/var/www/html \
-p 80:80 \
-p 443:443 \
--link=mysql:mysql \
-d richarvey/nginx-php-fpm
这里使用到镜像是  richarvey/nginx-php-fpm


--link=mysql:mysql 是将mysql连接进来,代码中服务器的主机地址直接填写mysql


附带一个nginx的配置文件

server {
        listen   80;
        root /xxx;
        location / {
        index  index.htm index.html index.php;
        if (!-e $request_filename) {
           rewrite ^/index.php(.*)$ /index.php?s=$1 last;
           rewrite ^(.*)$ /index.php?s=$1 last;
        }
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}




你可能感兴趣的:(php,linux)