centos下docker-compose搭建lnmp环境

 

所有操作均在root权限下进行

sudo -i

 

1、递归生成容器项目文件夹

mkdir -p /root/lnmp/nginx/html/ /root/lnmp/nginx/conf.d/ /root/lnmp/nginx/logs/

 

 

2、新建并写入yml文件内容

vi /root/lnmp/docker-compose.yml

 

【docker-compose.yml】内容:

version: '3' 
services:
  nginx:
     image: nginx
     container_name: nginx
     hostname: nginx
     privileged: true
     ports:
      - 80:80
     #centos文件夹【/root/lnmp/nginx/html/】和容器文件夹【/usr/share/nginx/html】进行绑定,并设rw权限
     #centos文件夹【/root/lnmp/nginx/conf.d/】和容器文件夹【/etc/nginx/conf.d/】进行绑定
     #centos文件夹【/root/lnmp/nginx/logs/】和容器文件夹【/var/log/nginx/】进行绑定
     volumes:
      - /root/lnmp/nginx/html/:/usr/share/nginx/html/:rw
      - /root/lnmp/nginx/conf.d/:/etc/nginx/conf.d/:rw
      - /root/lnmp/nginx/logs/:/var/log/nginx/:rw
     #容器自启
     restart: always
     networks:
      - lnmp
  php:
    image: php:7.3.29-fpm
    container_name: php_01
    volumes:
      - /root/lnmp/nginx/html/:/var/www/html/:rw
    restart: always
    cap_add:
      - SYS_PTRACE
    networks:
      - lnmp

  mysql:
    image: mysql:5.6
    container_name: mysql56
    ports:
      - 3306:3306
    volumes:
      - /root/lnmp/mysql/data/:/var/lib/mysql/:rw
    restart: always
    networks:
      - lnmp
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      TZ: "Asia/Shanghai"
networks:   
  #新建自定义网络【lnmp】
  lnmp:

 

4、新建并写入html文件内容

#新建
vi /root/lnmp/nginx/html/index.html

#内容自定义
welcome to nginx
我的博客

  

 

5、新建文件【default.conf】,写入内容,并用ftp上传到centos的文件夹【/root/lnmp/nginx/conf.d/】中

注意:

①最好用windows系统自带记事本新建此文件,文件名必须是【default.conf】,编码必须是“UTF-8”。

②否则,会导致容器无法启动,一直处于"restarting"状态,并在logs内报错【unknown directive "er" in /etc/nginx/conf.d/default.conf】。

③如果觉得不好操作,可以把yml文件内容里conf文件夹绑定删掉,则无需操作本步骤,nginx默认使用内置的配置进行启动。

 

【default.conf】文件内容:

server {
    listen       80;
    root   /usr/share/nginx/html;
    index   index.html index.htm index.php;


    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location / {
        index  index.html index.htm index.php ;
        try_files $uri $uri/ /index.php?$query_string;
        autoindex  on;
    }


    location ~ \.php$ {
        #php_01是容器命名
        fastcgi_pass   php_01:9000;
        fastcgi_index  index.php;
        include        fastcgi_params;
        fastcgi_param  PATH_INFO $fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
    }

}

  

 

5、进入lnmp文件夹启动yml文件

cd /root/lnmp
docker-compose up -d

  

 

6、查看运行情况

docker-compose ps

  

 

 

7、浏览器打开地址测试

 

posted on 2022-09-04 16:40  痴心妄想  阅读(135)  评论(0)    收藏  举报

导航