Docker搭建LNMP建站环境
发表于更新于
字数总计:717阅读时长:4分钟阅读量: :本地的
docker搭建建站环境,学习手动搭建网站。!
我们在搭建过程会使用到LNMP (Linux Nginx Mysql Php)
学会搭建以后,只要给我们源码就可以搭建网站。
更新系统
apt update -y && apt upgrade -y && apt install -y curl wget sudo socat
|
安装docker
curl -fsSL https://get.docker.com | sh
|
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
chmod +x /usr/local/bin/docker-compose
|
创建目录
配置docker-compose
version: '3.8'
services: nginx: image: nginx container_name: nginx restart: always ports: - 80:80 - 443:443 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./certs:/etc/nginx/certs - ./html:/var/www/html
php: image: php:fpm container_name: php restart: always volumes: - ./html:/var/www/html
mysql: image: mysql container_name: mysql restart: always volumes: - ./mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=webroot - MYSQL_DATABASE=web - MYSQL_USER=kejilion - MYSQL_PASSWORD=kejilionYYDS
|
申请证书
curl https://get.acme.sh | sh
|
~/.acme.sh/acme.sh --register-account -m xxxx@gmail.com
|
~/.acme.sh/acme.sh --issue -d s.kejilion.eu.org --standalone
|
下载证书
~/.acme.sh/acme.sh --installcert -d s.kejilion.eu.org --key-file /home/web/certs/key.pem --fullchain-file /home/web/certs/cert.pem
|
NGINX配置
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types; default_type application/octet-stream;
sendfile on; keepalive_timeout 65; client_max_body_size 1000m;
server { listen 80; server_name yuming.com;
return 301 https://$host$request_uri; }
server { listen 443 ssl http2; server_name yuming.com;
ssl_certificate /etc/nginx/certs/cert.pem; ssl_certificate_key /etc/nginx/certs/key.pem;
root /var/www/html; index index.php;
try_files $uri $uri/ =404; location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
}
|
下载源码
maccms10
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
cd /home/web && wget https://cn.wordpress.org/wordpress-6.2.2-zh_CN.zip && sudo apt-get install -y unzip && unzip wordpress-6.2.2-zh_CN.zip -d html && rm wordpress-6.2.2-zh_CN.zip && mv /home/web/html/wordpress/* /home/web/html/
|
运行
cd /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
|
安装PHP扩展
docker exec php apt update && docker exec php apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev libmagickwand-dev imagemagick
|
docker exec php docker-php-ext-install mysqli pdo_mysql zip exif gd intl bcmath opcache
|
docker exec php pecl install imagick && docker exec php sh -c 'echo "extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini'
|
docker exec -it php sh -c 'echo "upload_max_filesize=50M \n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini'
|
重启php
可以去访问你的域名了,完成wp安装向导后再输入下面的命令!
跳过FTP更新主题插件的限制
echo "define('FS_METHOD', 'direct');" >> /home/web/html/wp-config.php
|