加入实验性的docker容器安装方法
This commit is contained in:
parent
d0b7807a36
commit
05ecf5b3df
39
Dockerfile
Normal file
39
Dockerfile
Normal file
@ -0,0 +1,39 @@
|
||||
# 使用官方 PHP 镜像并指定版本
|
||||
FROM php:8.2-apache
|
||||
|
||||
# 安装 Redis 扩展和其他必要的 PHP 扩展
|
||||
RUN apt-get update && apt-get install -y git sudo libmagickwand-dev libzip-dev unzip libxslt-dev libgmp-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype6-dev libbz2-dev libldap2-dev zlib1g-dev libsqlite3-dev \
|
||||
&& docker-php-ext-install zip xsl gmp curl bcmath gd mysqli ldap pdo pdo_mysql pdo_sqlite soap intl pcntl \
|
||||
&& pecl install imagick redis \
|
||||
&& docker-php-ext-enable imagick redis
|
||||
RUN pecl install memcache \
|
||||
&& docker-php-ext-enable memcache
|
||||
|
||||
# 复制自定义的 Apache 配置文件
|
||||
COPY conf/apache.conf /etc/apache2/sites-available/000-default.conf
|
||||
|
||||
# 启用 Apache 的 mod_rewrite 模块
|
||||
RUN a2enmod rewrite && a2enmod ssl
|
||||
|
||||
# 设置 PHP 相关配置参数
|
||||
RUN echo "max_execution_time = 360" > /usr/local/etc/php/conf.d/custom-php.ini \
|
||||
&& echo "memory_limit = 1G" >> /usr/local/etc/php/conf.d/custom-php.ini \
|
||||
&& echo "post_max_size = 512M" >> /usr/local/etc/php/conf.d/custom-php.ini \
|
||||
&& echo "upload_max_filesize = 512M" >> /usr/local/etc/php/conf.d/custom-php.ini \
|
||||
&& echo "expose_php = Off" >> /usr/local/etc/php/conf.d/custom-php.ini
|
||||
|
||||
# 复制 PHP 源代码到容器中
|
||||
COPY . /var/www/html/
|
||||
|
||||
RUN mkdir /var/www/.cache
|
||||
RUN chown -R www-data:www-data /var/www/.cache
|
||||
RUN chmod -R 755 /var/www/.cache
|
||||
RUN chown -R www-data:www-data /var/www/html
|
||||
RUN chmod -R 755 /var/www/html
|
||||
|
||||
# 使用 composer 安装依赖
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
|
||||
&& cd /var/www/html/
|
||||
RUN sudo -u www-data composer install
|
||||
|
||||
EXPOSE 80 443
|
46
README.md
46
README.md
@ -106,6 +106,26 @@ Garnet 1.0.8 / Redis 7.0.15
|
||||
|
||||
环境搭建
|
||||
------------
|
||||
### Docker (测试)
|
||||
|
||||
```bash
|
||||
docker network create my-network
|
||||
docker run -d --name mariadb-container \
|
||||
-v /home/chenx221/db.sql:/docker-entrypoint-initdb.d/db.sql \
|
||||
-e MYSQL_ROOT_PASSWORD=chenx221 \
|
||||
--network=my-network \
|
||||
mariadb:latest
|
||||
docker run -d --name redis-container \
|
||||
--network=my-network \
|
||||
redis
|
||||
docker run -d -p 80:80 -p 443:443 \
|
||||
-v /home/chenx221/fullchain1.pem:/etc/ssl/fullchain1.pem \
|
||||
-v /home/chenx221/privkey1.pem:/etc/ssl/privkey1.pem \
|
||||
-v /home/chenx221/data:/var/www/html/data \
|
||||
-v /home/chenx221/.env:/var/www/html/.env \
|
||||
--network=my-network \
|
||||
chenx221-yii2-netdisk
|
||||
```
|
||||
|
||||
### For Windows
|
||||
|
||||
@ -308,31 +328,7 @@ xdebug.client_host = 127.0.0.1
|
||||
xdebug.client_port= 9003
|
||||
xdebug.remote_handler=dbgp
|
||||
```
|
||||
```bash
|
||||
sudo nano /etc/php/8.2/cli/php.ini
|
||||
```
|
||||
修改
|
||||
```ini
|
||||
max_execution_time = 360
|
||||
post_max_size = 2G
|
||||
upload_max_filesize = 2G
|
||||
```
|
||||
增加
|
||||
```ini
|
||||
date.timezone = "Asia/Shanghai"
|
||||
[xdebug]
|
||||
xdebug.mode =debug
|
||||
xdebug.output_dir ="/tmp"
|
||||
xdebug.show_local_vars=0
|
||||
xdebug.log="/tmp/xdebug.log"
|
||||
xdebug.log_level=7
|
||||
xdebug.profiler_output_name=trace.%H.%t.%p.cgrind
|
||||
xdebug.use_compression=false
|
||||
xdebug.discover_client_host = true
|
||||
xdebug.client_host = 127.0.0.1
|
||||
xdebug.client_port= 9003
|
||||
xdebug.remote_handler=dbgp
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl restart apache2
|
||||
```
|
||||
|
24
conf/apache.conf
Normal file
24
conf/apache.conf
Normal file
@ -0,0 +1,24 @@
|
||||
# HTTP 配置,监听端口 80,并重定向到 HTTPS
|
||||
<VirtualHost *:80>
|
||||
ServerName demo.chenx221.cyou
|
||||
|
||||
RewriteEngine On
|
||||
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
|
||||
</VirtualHost>
|
||||
|
||||
# HTTPS 配置,监听端口 443
|
||||
<VirtualHost *:443>
|
||||
ServerName demo.chenx221.cyou
|
||||
|
||||
DocumentRoot "/var/www/html/web"
|
||||
<Directory "/var/www/html/web">
|
||||
Options +Indexes +Includes +FollowSymLinks +MultiViews
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
LimitRequestBody 2147483648
|
||||
</Directory>
|
||||
|
||||
SSLEngine on
|
||||
SSLCertificateFile "/etc/ssl/fullchain1.pem"
|
||||
SSLCertificateKeyFile "/etc/ssl/privkey1.pem"
|
||||
</VirtualHost>
|
Loading…
Reference in New Issue
Block a user