评论

【新手必看】微信云托管PHP+Nginx配置使用教程

如果你是第一次使用微信云托管,如果你是PHP开发者请复制本文:Dockerfile,run.sh到你的项目跟目录即可,简单粗暴,最讨厌学习了👻

注册登录就不用讲了,自行领悟


官方提供的一键部署并不怎么实用,我把demo部署上去有什么用,又不能修改,干瞪眼🤣


因为没用过Docker之后查了又查,并没有关于PHP的部署,全是Python Nodejs Java的教程,是PHP不香了吗🥵


第一步创建实例,我们需要先了解下管官方要的Dockerfile文件的写法:


Dockerfile ,也别了解了直接复制就行😂


# 不建议更换alpine3.13之后会有问题,什么问题我也不知道,不要动就对了
FROM alpine:3.13

# 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令
#RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

# 设置国内镜像源并安装PHP+Nginx+Zip
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
    && apk add --update --no-cache \
    php7 \
    php7-json \
    php7-ctype \
	php7-exif \
	php7-pdo \
    php7-pdo_mysql \
    php7-fpm \
    php7-curl \   
    nginx \
    zip \
    && rm -f /var/cache/apk/*

# 设置网站目录,这个名字你喜欢就好
WORKDIR /app

# 将当前目录下所有文件拷贝到/app (.dockerignore中文件除外)
COPY . /app

# 替换nginx、fpm、php配置并赋予777权限,不赋予权限修改或写日志有问题,配置文件放到本地根目录conf目录下
RUN cp /app/conf/nginx.conf /etc/nginx/conf.d/default.conf \
    && cp /app/conf/fpm.conf /etc/php7/php-fpm.d/www.conf \
    && cp /app/conf/php.ini /etc/php7/php.ini \
    && mkdir -p /run/nginx \
    && chmod -R 777 /app \
    && chmod -R 777 /etc \
    && mv /usr/sbin/php-fpm7 /usr/sbin/php-fpm

# 暴露端口
# 此处端口必须与「服务设置」-「流水线」以及「手动上传代码包」部署时填写的端口一致,否则会部署失败。
EXPOSE 80

# 执行启动命令.
# 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。
# 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["sh", "run.sh"]


run.sh 直接复制,不要改,不要改,不要改


#!/bin/sh
# 后台启动
php-fpm -D
# 关闭后台启动,hold住进程
nginx -g 'daemon off;'


有了这俩万能配置文件,你只需要:


放到你的项目 ➡️ 根目录 ➡️ 打包Zip压缩包 ➡️ 微信云托管登录 ➡️ 创建实例 ➡️ 手动上传代码 ➡️ 选定压缩包 ➡️ 提交部署 ➡️ 等待项目启动


如果想要在线编辑,创建目录:manager,然后下载它:https://github.com/657258535/Great-Linux-Manager ,把它扔到manager目录就可以在线编辑了,不过只能用于测试,正式版请通过发布部署完成


如果实例会自动停止,解决办法看图:


其他的问题暂时没遇到,至此记录结束🇨🇳

最后一次编辑于  2022-05-24  
点赞 2
收藏
评论
登录 后发表内容