1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > centos 访问网页重启php_php项目上线基于docker运行php+源码编译实现Nginx+阿里云RDS连接实现...

centos 访问网页重启php_php项目上线基于docker运行php+源码编译实现Nginx+阿里云RDS连接实现...

时间:2018-12-11 08:41:33

相关推荐

centos 访问网页重启php_php项目上线基于docker运行php+源码编译实现Nginx+阿里云RDS连接实现...

项目背景:

公司项目上线要求运维把上线工作做好,并实现稳定性运行,活不多说,干!

环境要求:

CentOS Linux release 7.2.1511 (Core)

docker 版本:19.03.11

nginx/1.17.6

php 7.3

目录章节:

项目背景

环境要求

目录章节

docker底层环境部署

docker运行安装php7.3

源码编译Nginx环境配置

报错问题排查

测试验证

docker底层环境部署

1、docker软件安装

docker-ce的yum源下载(任选其一)

下载docker官方ce版

[root@yunweilaoxu ~]# wget /linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

或者使用aliyun的docker-ce源

[root@yunweilaoxu ~]# wget /docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

docker安装

[root@yunweilaoxu ~]# yum clean all[root@yunweilaoxu ~]# yum install docker-ce -y

PS: 注意要安装docker-ce版,不要安装docker(否则可能安装1.13老版本)

启动服务

[root@yunweilaoxu ~]# systemctl start docker[root@yunweilaoxu ~]# systemctl enable docker[root@yunweilaoxu ~]# systemctl status docker

查看版本信息

[root@yunweilaoxu ~]# docker -vDocker version 18.09.7, build 2d0083d[root@yunweilaoxu ~]# docker info

[root@yunweilaoxu ~]# docker versionClient: Version:18.09.7 API version: 1.39 Go version: go1.10.8 Git commit: 2d0083d Built: Thu Jun 27 17:56:06 OS/Arch:linux/amd64 Experimental: falseServer: Docker Engine - Community Engine: Version:18.09.7 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 2d0083d Built:Thu Jun 27 17:26:28 OS/Arch:linux/amd64 Experimental: false

2、镜像加速器

国内的几个互联网巨头都有自己的容器服务。这里以阿里云为例

阿里云容器镜像服务地址:https://cr./cn-hangzhou/new 申请一个阿里账号登录

[root@yunweilaoxu ~]# vim /etc/docker/daemon.json{"registry-mirrors": ["https://42h8kzrh."]}以上要是多个要在尾部,号隔开[root@yunweilaoxu ~]# systemctl daemon-reload[root@yunweilaoxu ~]# systemctl restart docker

docker安装运行PHP7.3

1. docker pull php:7.3-fpm2. docker run -d -v /home/data/webserver5/:/home/data/webserver5/ -p 9004:9000 --name myphp3-fpm php:7.3-fpm3. docker ps

源码编译Nginx环境配置

server{listen 80;server_name xxxxxx;root /home/data/webserver5/career/public;access_log /opt/logs/career_access.log;error_log /opt/logs/career_error.log; #以及是解决Nginx跨域问题add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Headers' "X-Requested-With";add_header 'Access-Control-Allow-Methods' "GET,POST,OPTIONS";add_header 'Access-Control-Allow-Credentials' "true";location / {index index.html index.php index.htm; try_files $uri $uri/ /index.php?$query_string;}include phpcareer.conf; #引入PHP配置文件做php解析location ~ /(yii|protected|framework|nbproject) {deny all; access_log off; log_not_found off;} # Block access to theme-folder views directorieslocation ~ /themes/\w+/views {deny all; access_log off; log_not_found off;}# Attempt the uri, uri+/, then fall back to yii's index.php with args included# Note: old examples use IF statements, which nginx considers evil, this approach is more widely supportedlocation /api {index index.php; try_files $uri $uri/ /api/index.php?$args;} # location /service {# proxy_pass http://172.17.74.205:5555/service; #index index.html index.htm; #} # location ~ ^/crisis/(.*)$ {# proxy_passhttp://127.0.0.1:8087/$1$is_args$args; # }}

php解析配置文件

location ~ \.php$ {#roothtml; fastcgi_pass 172.17.0.4:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/data/webserver5/career/public/$fastcgi_script_name; includefastcgi_params;}

报错问题排查

1、数据库连接出现问题

故障排查

1. 去/home/data/webserver4/jsyixin_prd/application/config/config.php 检查php连接数据库账号信息是否准确2. 查看RDS的白名单是否将所在这台服务器的内网IP加入到白名单中

2、项目目录权限问题等问题导致报错

故障排查:

此问题是权限问题直接给目录所属子目录权限设置为777,然后打开网页再次访问

chmond -R 777 /home/data/webserver5/career/storage/

3、页面出现Access denied

故障排查:

3.1、打开php debug 调试模式

1. 进入docker php镜像容器docker exec -it bcb0168ebc4b /bin/bash2. 查找php容器中 php.ini 配置文件php -i |grep php.ini 或:find / -name php路径地址:/usr/local/etc/php/php.ini3. 474行 display_errors=on4. 打开浏览器再次访问

3.2、以下界面出现php插件连接mysql等问题

解决方法:

1. 进入docker php镜像容器docker exec -it bcb0168ebc4b /bin/bash2. docker-php-ext-install pdo_mysql3. exit 4. 重启phpdocker restart bcb0168ebc4b5. 再次访问

3.3、项目路径问题导致bootstrap 没有写权限

解决方法:

chmond -R 755 /home/data/webserver5/career/bootstrap 即可解决此问题

3.4、关闭debug调式模式

474行 display_errors=Off

测试验证

此时出现这个代表项目上线成功

作者:运维老许

出处:/

联系方式:strive120620@

声明1:本站部分资源收集自互联网,仅供个人学习交流,如不慎侵犯了您的权益,请联系我,我将尽快处理!

声明2:本文版权归作者,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。