#更新下系统 sudo apt update sudo apt upgrade #安装 Docker: sudo apt-get install docker.io #安装成功后查看版本 docker --version #安装完成后,通过命令自启动 Docker 服务 sudo systemctl start docker sudo systemctl enable docker #安装中文图形界面,IP+端口号9000就是访问地址 sudo docker run -d \ --name=portainer-zh \ -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ --restart=always \ 6053537/portainer-ce
#使用sudo nano,新建如下三个文件,粘贴内容,保存 ctrl +o,然后回车,退出 ctrl +x sudo mkdir /home/kaixinit/nmp #在home/kaixinit/新建nmp文件夹 cd /home/kaixinit/nmp #进入目录 sudo nano start.sh #新建start.sh sudo nano Dockerfile #新建Dockerfile sudo nano build.sql #新建build.sql sudo wget http://www.kaixinit.com/wp-content/uploads/2024/03/frpc.tar.gz #下载frpc文件 sudo chmod +x start.sh #ls -l查看,赋予start.sh执行权限
#创建目录 sudo mkdir -p /www/html #网站配置目录 sudo mkdir /www/conf #nginx配置目录 sudo mkdir /www/data #mysql 数据库配置目录 sudo mkdir /www/frpc #frpc 配置目录 sudo chmod -R 777 /www #赋予www文件夹777权限 #把配置文件default文件放置在/www/conf,或者把文件内容放入 sudo nano /www/conf/default #新建default文件,粘贴内容,保存 ctrl +o,然后回车,退出 ctrl +x #备注:如果修改conf文件,比如默认没有需增加index.php,需要先删除原有文件,不删除会占用localhost的解析 sudo rm -rf /www/conf/default #需要先删除原有文件,不删除会占用localhost的解析 sudo nano /www/conf/default #然后再新建写入文件 sudo docker exec -it nmp nginx -s reload #重载 #把配置文件frpc.toml文件放在/www/frpc,或者把文件内容放入 sudo nano /www/frpc/frpc.toml #新建frpc.toml文件,粘贴内容,保存 ctrl +o,然后回车,退出 ctrl +x sudo chmod -R 777 /www/frpc/frpc.toml #赋予777权限 #备注: sudo tar -zcvf frpc.tar.gz frpc #压缩文件 sudo rm -r /www/frpc/ #删除文件夹
#开始安装镜像 cd /home/kaixinit/nmp #进入安装目录 sudo docker build -t nmp . #开始安装,别忘记了最后的 . #启动容器 sudo docker run -d --rm -v /www/data:/var/lib/mysql -v /www/conf:/etc/nginx/sites-available -v /www/html:/var/www/html -p 80:80 -p 443:443 -p 3306:3306 -v /www/frpc:/frpc/conf -p 7000:7000 --name nmp nmp #查看运行结果 sudo docker run -it --rm -v /www/data:/var/lib/mysql -v /www/conf:/etc/nginx/sites-available -v /www/html:/var/www/html -p 80:80 -p 443:443 -p 3306:3306 -v /www/frpc:/frpc/conf -p 7000:7000 --name nmp nmp #备注: sudo docker images #查看镜像 sudo docker ps #查看容器
#安装phpmyadmin sudo docker pull phpmyadmin #拉取phpmyadmin #启动容器 sudo docker run --name phpmyadmin -d -e PMA_ARBITRARY=1 -p 8080:80 phpmyadmin #ip:8080登录创建数据库,数据库密码在 build.sql里面设置默认p123
#搭建wordpress网站 cd /www/html #进入网站配置目录 sudo wget https://cn.wordpress.org/latest-zh_CN.tar.gz #下载wordpress sudo tar xf latest-zh_CN.tar.gz #解压 sudo mv wordpress kaixinit.com #将文件夹wordpress改名为honrt.com sudo chmod -R 777 /www/html/kaixinit.com #赋予权限 #备注 sudo rm -r /www/html/kaixinit.com #删除kaixinit.com 文件夹 #网站更新问题执行需要FTP主机,解决mysql问题 sudo docker exec -it nmp bash #进入容器 sudo chown www-data -R /var/www/html #也可以写在start.sh倒数第二行
#构建调试镜像 # ENTRYPOINT ["/start.sh"] #Dockerfile文件夹的/start.sh注释掉保存,在ENTRYPOINT前面加# sudo docker build -t nmp1 . #构建镜像,命名为nmp1,别忘记了最后的 . #进入容器 sudo docker run -it --rm -v /www/data:/var/lib/mysql -v /www/conf:/etc/nginx/sites-available -v /www/html:/var/www/html -p 80:80 -p 443:443 -p 3306:3306 -v /www/frpc:/frpc/conf -p 7000:7000 --name nmp1 nmp1 nginx #查看nginx,输入访问IP地址查看是否网页提示nginx /start.sh #运行/start.sh,可以看下各位启动是否运行正常 exit #退出容器
#start.sh配置文件内容 #!/bin/bash #启动 k=0 service php8.1-fpm start chown -R mysql:mysql /var/lib/mysql if [ ! -d /var/lib/mysql/mysql ]; then k=1 fi if [ "$k" -eq 1 ]; then sudo -u mysql mysql_install_db fi service mariadb start sleep 2 if [ "$k" -eq 1 ]; then mysql < /build.sql fi /frpc/frpc -c /frpc/conf/frpc.toml & chown www-data -R /var/www/html nginx -g 'daemon off;'
#Dockerfile配置文件内容 # 使用 Ubuntu 作为基础镜像 FROM ubuntu:latest # 更新软件包并安装 Nginx 和 PHP ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y nginx php-fpm php-mysql mariadb-server php-curl php-dom php-imagick php-mbstring php-zip php-gd php-intl sudo #清理文件 RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* #mysql设置远程登陆 RUN sed -i 's/^bind-address\s*=\s*127\.0\.0\.1/bind-address = 0.0.0.0/g' /etc/mysql/mariadb.conf.d/50-server.cnf #数据库设置 COPY build.sql / COPY start.sh / COPY frpc.tar.gz / RUN tar xf frpc.tar.gz RUN rm -rf frpc.tar.gz # 暴露 Nginx 端口和frpc 端口 EXPOSE 80 443 3306 7000 # 启动 Nginx 和 PHP-FPM ENTRYPOINT ["/start.sh"]
#build.sql配置文件内容 CREATE USER 'root'@'%'; GRANT ALL PRIVILEGES ON *.* to 'root'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'p123' WITH GRANT OPTION; FLUSH PRIVILEGES;
#default配置文件内容 server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html/kaixinit.com; server_name kaixinit.com; index index.php; location / { try_files $uri $uri/ /index.php?$args; rewrite /wp-admin$ $scheme://$host$uri/ permanent; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }
#frpc.toml配置文件内容 serverAddr = "0.0.0.0" # 设置服务器IP地址,以阿里云为准 serverPort = 7000 # 设置连接端口,和服务端端口一致 auth.token = "admin" # 身份验证令牌,frpc要与frps一致 [[proxies]] name = "web-hkaixinit.com" type = "http" localIP = "127.0.0.1" localPort = 80 customDomains = ["kaixinit.com","www.kaixinit.com"] #绑定一级域名
原创文章,作者:开心电脑网,如若转载,请注明出处。