下载安装nginx, 配置里启用PHP

wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum --disablerepo="epel" install nginx -y
systemctl start nginx
systemctl enable nginx

#vim /etc/nginx/conf.d/default.conf
#home page 识别.php 的index

centos7 常规方式安装wordpress docker-compose 安装 wordpress

#取消PHP相关的nginx注释,php fastcgi脚本路径修改为/usr/share/nginx/html

centos7 常规方式安装wordpress docker-compose 安装 wordpress

service nginx reload

安装php

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php70w-tidy php70w-common php70w-devel php70w-pdo php70w-mysql php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-fpm
php -v
systemctl start php-fpm
systemctl enable php-fpm

#创建一个测试页面/usr/share/nginx/html/info.php
cat << "EOF" > /usr/share/nginx/html/info.php
<?php
  phpinfo();
?>
EOF

#测试访问页面打开 http://server IP address/info.php

创建部署数据库,数据库IP,root用户名,密码

安装MySQL,请参考其他的博客

create database wordpress;

下载安装wordpress

#去WordPress官网下载 wordpress-5.3.1.tar.gz
#解压到/usr/share/nginx/
#打开WordPress页面,通过引导页面加入数据库密码
#开始使用WordPress

docker-compose 安装 wordpress

mkdir /usr/local/wordpress
mkdir /usr/local/wordpress/mysql-data

cat << 'EOF' > docker-compose.yaml
version: "3"
services:
   mysql:
     container_name: mysql
     image: mysql:5.7
     command:
      - --default_authentication_plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
     volumes:
       - ./mysql-data:/var/lib/mysql
     restart: always
     ports:
       - "50000:3306"
     environment:
       MYSQL_ROOT_PASSWORD: yourpassword
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: yourpassword
   wordpress:
     container_name: wordpress
     depends_on:
       - mysql
     image: wordpress:5.7
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: mysql:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: yourpassword
     links:
      - mysql:mysql
EOF

docker-compose up -d

#配置Nginx reverse proxy
#请参考
cat << 'EOF' 
server {
    listen 80;
   server_name www-wp.zhufunin.com;
    location / {
        return 301 https://www-wp.zhufunin.com$request_uri;
    }
}

server {

    listen 443 ssl http2;
    ssl_certificate /usr/local/nginx/conf/ssl/www-wp.zhufunin.com.crt;
    ssl_certificate_key /usr/local/nginx/conf/ssl/www-wp.zhufunin.com.key;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /usr/local/nginx/conf/ssl/www-wp.zhufunin.com.crt;
    server_name www-wp.zhufunin.com;
    location ^~ /.well-known/acme-challenge/ {
        root /usr/local/nginx/html/;
    }

    client_max_body_size 1000m;
    location ^~ / {
        proxy_pass http://127.0.0.1:8000/;
        proxy_redirect off;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header http_user_agent $http_user_agent;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Port 443;

    }
}
EOF

#设置证书,参考
cat << 'EOF'
acme.sh  --issue  -d www-wp.zhufunin.com \
--webroot /usr/local/nginx/html/ \
--key-file /usr/local/nginx/conf/ssl/www-wp.zhufunin.com.key \
--fullchain-file /usr/local/nginx/conf/ssl/www-wp.zhufunin.com.crt \
--reloadcmd "/usr/local/nginx/sbin/nginx -s reload"
EOF

相关文章: