下载安装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
#取消PHP相关的nginx注释,php fastcgi脚本路径修改为/usr/share/nginx/html
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