找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 142|回复: 0

LDNMP多网站独立NGINX配置 PHP双环境部署 所有网站对接Redis加速

[复制链接]

1

主题

0

回帖

7

积分

新手上路

积分
7
发表于 2025-7-4 22:51:06 | 显示全部楼层 |阅读模式
本帖最后由 Warren 于 2025-7-9 22:10 编辑

6大LDNMP进阶点:
1.nginx站点独立配置,更灵活,方便管理,更简单
2.不必要端口映射隐藏,提升安全性。
3.PHP双环境部署,对应多类型网站源码适用,兼容性更强! (展示WordPress,苹果CMS,独角数卡共存!)
4.所有类型的网站接入Redis,速度更快!
5.每个网站部署独立自己数据库,更好管理,提升性能与安全!
6.支持ARM机型的搭建LDNMP,更强兼容性!

更新系统
  1. apt update -y  && apt upgrade -y && apt install -y curl wget sudo socat unzip tar htop
复制代码
安装docker
【新提醒】ubuntu22.04更改源,安装Docker 及docker compose - Ubuntu - Home!

创建必要的目录和文件
  1. mkdir -p /home/web && cd /home/web && mkdir html mysql certs conf.d redis
复制代码
添加文件,nginx.conf放到conf.d下面,网站如果有多个按任意名字书写,不要使用nginx.conf,
  1. cat > ./conf.d/nginx.conf << EOF
  2. server {
  3. listen 80;
  4. server_name discuz.starkw.cn;
  5. return 301 https://\$host\$request_uri;
  6. }

  7. server {
  8. listen 443 ssl;
  9. server_name discuz.starkw.cn;

  10. http2 on;

  11. ssl_certificate /etc/nginx/certs/discuz.crt;
  12. ssl_certificate_key /etc/nginx/certs/discuz.key;

  13. #此位置是修改网站首页所在,需要注意
  14. root /var/www/html/web1/discuz;


  15. index index.php;

  16. try_files $uri $uri/ /index.php?$args;

  17. # 苹果cms伪静态
  18. # rewrite ^/index.php(.*)$ /index.php?s=$1 last;
  19. # rewrite ^/vip.php(.*)$ /vip.php?s=$1 last;
  20. # rewrite ^/api.php(.*)$ /api.php?s=$1 last;

  21. location ~ \.php$ {
  22. fastcgi_pass php:9000;
  23. fastcgi_index index.php;
  24. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  25. include fastcgi_params;
  26. }
  27. client_max_body_size 50m;
  28. }
  29. EOF
复制代码
下载 docker-compose.yml 文件并进行替换

cat > ./docker-compose.yml << EOF
version: '3.8'

services:
  nginx:
    image: nginx
    container_name: nginx
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./conf.d:/etc/nginx/conf.d
      - ./certs:/etc/nginx/certs
      - ./html:/var/www/html
      - ./log/nginx:/var/log/nginx

  php:
    image: php:fpm
    container_name: php
    restart: unless-stopped
    volumes:
      - ./html:/var/www/html

    php74:
    image: php:7.4.33-fpm
    container_name: php74
    restart: unless-stopped
    volumes:
      - ./html:/var/www/html

    mysql:
    image: mysql
    container_name: mysql
    restart: unless-stopped
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: amochili1&2
      MYSQL_USER: stark
      MYSQL_PASSWORD: amochili1^2

    redis:
    image: redis
    container_name: redis
    restart: unless-stopped
    volumes:
      - ./redis:/data
EOF


运行
  1. cd /home/web && docker-compose up -d
复制代码
赋予权限
  1. docker exec -it nginx chmod -R 777 /var/www/html
  2. docker exec -it php chmod -R 777 /var/www/html
  3. docker exec -it php74 chmod -R 777 /var/www/html
复制代码
安装PHP扩展,调整上传文件大小限制,内存限制,可以一次性粘贴
  1. docker exec php apt update && docker exec php apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev libmagickwand-dev imagemagick
  2. docker exec php docker-php-ext-install mysqli pdo_mysql zip exif gd intl bcmath opcache
  3. docker exec php pecl install imagick && docker exec php sh -c 'echo "extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini'
  4. docker exec php pecl install redis && docker exec php sh -c 'echo "extension=redis.so" > /usr/local/etc/php/conf.d/docker-php-ext-redis.ini'
  5. docker exec php sh -c 'echo "upload_max_filesize=50M \n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini'
  6. docker exec php sh -c 'echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini'
复制代码
php7.4安装PHP扩展,调整上传文件大小限制,内存限制,可以一次性粘贴
  1. docker exec php74 apt update && docker exec php74 apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev libmagickwand-dev imagemagick
  2. docker exec php74 docker-php-ext-install mysqli pdo_mysql zip gd intl bcmath opcache
  3. docker exec php74 pecl install imagick && docker exec php74 sh -c 'echo "extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini'
  4. docker exec php74 pecl install redis && docker exec php74 sh -c 'echo "extension=redis.so" > /usr/local/etc/php/conf.d/docker-php-ext-redis.ini'
  5. docker exec php74 sh -c 'echo "upload_max_filesize=50M \n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini'
  6. docker exec php74 sh -c 'echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini'
复制代码
重启php
  1. docker restart php
  2. docker restart php74
复制代码
创建多个新数据库,可以再添加,独立数据库好管理,备份,迁移等,注意用表的时候加前缀
  1. docker exec -it mysql mysql -u root -p
  2. CREATE DATABASE discuz;
  3. CREATE DATABASE wordpress;
复制代码
查看数据库列表
  1. SHOW DATABASES;
复制代码
数据库赋予权限
  1. GRANT ALL PRIVILEGES ON web1.* TO 'stark'@'%';
  2. GRANT ALL PRIVILEGES ON web2.* TO 'stark'@'%';
复制代码
删除数据库(可选)
  1. DROP DATABASE discuz;
  2. REVOKE ALL PRIVILEGES ON web3.* FROM 'starj'@'%';
复制代码

wp后期配置
  1. echo "define('FS_METHOD', 'direct'); define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', '6379');" >> /home/web/html/web1/wordpress/wp-config.php
复制代码

引用:https://blog.kejilion.pro/ldnmp-web/





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Home!

GMT+8, 2025-12-6 11:45 , Processed in 0.017415 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表