Tôi có một dự án dựa trên laravel mà tôi phải lưu trữ trên Digital Ocean bằng docker. docker đang hoạt động tốt trên localhost nhưng hiển thị 404 trên máy chủ nhưng phpmyadmin cũng hoạt động tốt trên máy chủ đang chạy trên 8080
Hải cảng.
Đây là của tôi docker-compose.yml
phiên bản: '3'
mạng:
ấu trùng:
dịch vụ:
nginx:
hình ảnh: nginx:ổn định-alpine
container_name: nginx
cổng:
- "8088:80"
khối lượng:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
phụ thuộc:
- php
- mysql
mạng:
- ấu trùng
mysql:
hình ảnh: mysql:5.7.22
khởi động lại: trừ khi dừng
tty: đúng
cổng:
- "4306:3306"
khối lượng:
- ./mysql:/var/lib/mysql
môi trường:
MYSQL_ROOT_PASSWORD: "gốc"
MYSQL_DATABASE: "laravel_test"
MYSQL_USER: "gốc"
MYSQL_PASSWORD: "gốc"
SERVICE_TAGS: "nhà phát triển"
SERVICE_NAME: "mysql"
mạng:
- ấu trùng
php:
xây dựng:
bối cảnh: .
dockerfile: dockerfile
container_name: php
khối lượng:
- ./src:/var/www/html
cổng:
- "9000:9000"
khởi động lại: trừ khi dừng
mạng:
- ấu trùng
phpmyadmin:
hình ảnh: phpmyadmin
khởi động lại: luôn luôn
cổng:
- 8080:80
môi trường:
- PMA_ARBITRARY=1
liên kết:
- mysql
mạng:
- ấu trùng
npm:
hình ảnh: nút:18-alpine3.14
container_name: npm
khối lượng:
- ./src:/var/www/html
working_dir: /var/www/html
điểm vào: [ 'npm', '--no-bin-links' ]
mạng:
- ấu trùng
nhà soạn nhạc:
hình ảnh: nhà soạn nhạc: mới nhất
container_name: nhà soạn nhạc
khối lượng:
- ./src:/var/www/html
working_dir: /var/www/html
phụ thuộc:
- php
mạng:
- ấu trùng
Dockerfile
TỪ php:8.1.0-fpm
CHẠY docker-php-ext-install pdo pdo_mysql
mặc định.conf
người phục vụ{
nghe 80;
chỉ mục index.php index.html;
máy chủ_tên máy chủ cục bộ;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
gốc /var/www/html/công khai;
địa điểm / {
try_files $uri $uri/ /index.php?$query_string;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
tập tin php của tôi là trong ./src/công khai/