docker下安裝nginx和php

docker下安裝nginx和php

安裝docker

我使用的是centos7.0系統,具體安裝要求,大家可以去官網上查詢

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 #安裝工具,我安裝docker的時候並沒有安裝,也沒出現錯誤,不知道是不是環境的問題
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #添加源信息
sudo yum makecache fast # 更新yum緩存
sudo yum -y install docker-ce #安裝ce版本
sudo systemctl start docker #啓動docker

安裝nginx

docker pull nginx #下載nginx
docker images nginx #查看安裝結果
docker run --name nginx-test -p 8081:80 -d nginx #運行一個nginx容器,nginx-test是容器名稱

上面的安裝方式是直接安裝,代碼和配置文件都在容器中,修改不方便,可以用下面的方式運行容器

mkdir -p /data/www/html /data/nginx/conf /data/nginx/logs #創建個人目錄,保存文件信息
docker cp 6dd4380ba708:/etc/nginx/nginx.conf /data/nginx/conf #從一個成功運行的nginx容器中把配置文件複製過來
docker run -d -p 80:80 --name nginx-web -v /data/www/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx nginx #創建新的容器,將配置文件掛載到剛纔創建的文件中

然後在/data/www/html中編輯文件,即可以訪問

安裝php

docker pull php:7.2-fpm #我這裏因爲框架的問題,只可以使用7.1以上的php,大家可以按照要求切換版本,也可以每個版本都下載下來
docker run --name  php-72 -v /data/www/html:/www  -d php:7.2-fpm #創建php容器,這裏注意掛載的文件目錄要和nginx的最好一致

nginx和php協調配置

mkdir /data/nginx/conf.d #創建保存nginx配置文件的目錄

在目錄中添加test.conf文件,文件內容如下:

 server {
        listen       80;
        server_name  localhost;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.php index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
   
        location ~ \.php$ {
            fastcgi_pass   php:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
docker run --name php-nginx-web -p 80:80 -d \
        -v /data/www/html:/usr/share/nginx/html:ro \
        -v /data/nginx/conf.d:/etc/nginx/conf.d:ro \
        --link php-72:php \
        nginx  #創建新的nginx和php關聯容器,注意其他nginx容器最好關閉,php容器一定要打開

然後在/data/www/html中書寫index.php,就可以正常應用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章