更新系统
1apt update -y && apt upgrade -y && apt install -y curl wget sudo socat
安装docker
1curl -fsSL https://get.docker.com | sh 2 3curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 4 5chmod +x /usr/local/bin/docker-compose
创建目录
1cd /home 2 3mkdir web 4 5cd web 6 7mkdir html 8 9mkdir mysql 10 11mkdir certs 12 13touch nginx.conf 14 15nano docker-compose.yml
配置docker-compose
1version: '3.8' 2 3services: 4 nginx: 5 image: nginx 6 container_name: nginx 7 restart: always 8 ports: 9 - 80:80 10 - 443:443 11 volumes: 12 - ./nginx.conf:/etc/nginx/nginx.conf 13 - ./certs:/etc/nginx/certs 14 - ./html:/var/www/html 15 depends_on: 16 - php 17 18 php: 19 image: php:fpm 20 container_name: php 21 restart: always 22 volumes: 23 - ./html:/var/www/html 24 depends_on: 25 - mysql 26 27 mysql: 28 image: mysql 29 container_name: mysql 30 restart: always 31 ports: 32 - 3306:3306 33 volumes: 34 - ./mysql:/var/lib/mysql 35 environment: 36 - MYSQL_ROOT_PASSWORD=webroot 37 - MYSQL_DATABASE=web 38 - MYSQL_USER=asdasdasd 39 - MYSQL_PASSWORD=sdfdsfsaf
申请证书
1curl https://get.acme.sh | sh 2 3~/.acme.sh/acme.sh --register-account -m xxxx@gmail.com 4 5~/.acme.sh/acme.sh --issue -d 你的vps域名 --standalone
下载证书
1~/.acme.sh/acme.sh --installcert -d cn.0514.me --key-file /home/web/certs/key.pem --fullchain-file /home/web/certs/cert.pem
NGINX配置
1events { 2 worker_connections 1024; 3} 4 5http { 6 7 include /etc/nginx/mime.types; 8 default_type application/octet-stream; 9 10 sendfile on; 11 keepalive_timeout 65; 12 13 client_max_body_size 1000m; 14 #上传限制参数1G以内文件可上传 15 16 17# HTTP server 18server { 19 listen 80; 20 server_name yuming.com; 21 22 # Redirect all HTTP requests to HTTPS 23 return 301 https://$host$request_uri; 24} 25 26# HTTPS server 27server { 28 listen 443 ssl http2; 29 server_name yuming.com; 30 31 # http2 on; 32 33 ssl_certificate /etc/nginx/certs/cert.pem; 34 ssl_certificate_key /etc/nginx/certs/key.pem; 35 36 root /var/www/html; 37 index index.php; 38 39 # rewrite ^/vip.php(.*)$ /vip.php?s=$1 last; 40 41 try_files $uri $uri/ =404; 42 43 # PHP-FPM configuration 44 location ~ \.php$ { 45 fastcgi_pass php:9000; 46 fastcgi_index index.php; 47 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 48 include fastcgi_params; 49 } 50} 51 52}
下载源码
maccms10 (苹果的cms,可不安装)
cd /home/web && wget https://github.com/magicblack/maccms_down/raw/master/maccms10.zip && sudo apt-get install -y unzip && unzip maccms10.zip -d html && rm maccms10.zip && mv /home/web/html/maccms10-master/* /home/web/html/
wordpress
1cd /home/web && wget https://cn.wordpress.org/wordpress-6.2-zh_CN.zip && sudo apt-get install -y unzip && unzip wordpress-6.2-zh_CN.zip -d html && rm wordpress-6.2-zh_CN.zip && mv /home/web/html/wordpress/* /home/web/html/
运行
1cd /home/web && docker-compose up -d
赋予权限
docker exec -it nginx chmod -R 777 /var/www/html docker exec -it php chmod -R 777 /var/www/html chown -R www-data:www-data /home/web/html chmod -R 755 /home/web/html chmod -R 775 /home/web/html/wp-content
安装PHP扩展
1docker exec php apt update && docker exec php apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev
1docker exec php docker-php-ext-install mysqli pdo_mysql zip
重启php
1docker restart php
