ฉันเพิ่งกำหนดค่าเซิร์ฟเวอร์ของฉันเป็น revproxy หลายไซต์โดยใช้เครือข่ายภายนอกของนักเทียบท่า และกำหนดค่าคอนเทนเนอร์ revproxy nginx ของฉันให้ทำงานกับ fastcgi ตอนนี้เพื่อจุดประสงค์ในการทดสอบ หนึ่งในไซต์กำลังทำงานอยู่ แต่ดูเหมือนว่า nginx สำหรับคอนเทนเนอร์เว็บไซต์จะระบุพาธสำหรับไฟล์ดัชนี laravel ไม่ถูกต้องและให้หน้า "ยินดีต้อนรับ nginx" เริ่มต้นเท่านั้น
ฉันจะขอบคุณมากสำหรับความช่วยเหลือใด ๆ
ของฉัน ไฟล์นักเทียบท่า
สำหรับคอนเทนเนอร์ revproxy
จาก nginx:อัลไพน์
สัมผัส 80/tcp
สัมผัส 443/tcp
CMD ["/bin/sh", "-c", "exec nginx -g 'daemon off;';"]
เวิร์คดีอาร์ /var/www
นักเทียบท่าเขียน
สำหรับคอนเทนเนอร์ revproxy
รุ่น: '3.8'
บริการ:
พร็อกซี nginx:
สร้าง: ./
container_name: nginx-พร็อกซี
พอร์ต:
- 80:80
- 443:443
ปริมาณ:
- ./default.conf:/etc/nginx/conf.d/default.conf
- /var/www:/var/www/html
- ./backend-not-found.html:/var/www/html/backend-not-found.html
- ./certs:/etc/nginx/certs:ro
เครือข่าย:
- หนังสือมอบฉันทะ
รีสตาร์ท: เสมอ
เครือข่าย:
พร็อกซี:
ภายนอก:
ชื่อ: nginx-proxy
nginx.conf
ไฟล์สำหรับคอนเทนเนอร์ revproxy
เซิร์ฟเวอร์ {
ฟัง 80;
server_name site.com;
ชุดอักขระ UTF-8;
รูท /var/www/html/laravel/public;
error_page 404 /backend-not-found.html;
ตำแหน่ง = /backend-not-found.html {
อนุญาตทั้งหมด
}
ตำแหน่ง ~ \.php$ {
ตัวแก้ไข 127.0.0.11;
ตั้งค่า $upstream laravel-app:9000;
# nginx จะเริ่มทำงานหากโฮสต์ไม่สามารถเข้าถึงได้
fastcgi_pass $อัพสตรีม;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
ที่ตั้ง / {
ตัวแก้ไข 127.0.0.11;
ตั้ง $upstream http://laravel-nginx:80;
# nginx จะเริ่มทำงานหากโฮสต์ไม่สามารถเข้าถึงได้
proxy_pass $อัพสตรีม;
try_files $uri $uri/ /index.php?$query_string;
เปิด gzip_static;
}
}
# ค่าเริ่มต้น
เซิร์ฟเวอร์ {
ฟัง 80 default_server;
ชื่อเซิร์ฟเวอร์ _;
รูท /var/www/html;
ชุดอักขระ UTF-8;
error_page 404 /backend-not-found.html;
ตำแหน่ง = /backend-not-found.html {
อนุญาตทั้งหมด
}
ที่ตั้ง / {
กลับ 404;
}
access_log off;
ปิด log_not_found;
error_log /var/log/nginx/error.log ข้อผิดพลาด;
}
และ นักเทียบท่าเขียน
ไฟล์สำหรับคอนเทนเนอร์เว็บไซต์
รุ่น: '3.8'
บริการ:
#พีเอชพีเซอร์วิส
แอป:
สร้าง:
หาเรื่อง:
ผู้ใช้:อเล็กซ์
ไอดี: 1,000
บริบท: ./
นักเทียบท่าไฟล์: Dockerfile
container_name: ${APP_NAME}-แอป
รีสตาร์ท: เสมอ
tty: จริง
working_dir: /var/www
พอร์ต:
- 9000:9000
ลิงค์:
- ฐานข้อมูล
ปริมาณ:
- ./:/var/www
- ./docker-compose_configs/php/custom.ini:/usr/local/etc/php/conf.d/custom.ini
เครือข่าย:
- หนังสือมอบฉันทะ
- แอพเครือข่าย
#บริการงินซ์
จิงซ์:
ภาพ: nginx:alpine
container_name: ${APP_NAME}-nginx
รีสตาร์ท: เสมอ
tty: จริง
พอร์ต:
- 8080:80
รีสตาร์ท: เสมอ
ปริมาณ:
- ./:/var/www/html
เครือข่าย:
- หนังสือมอบฉันทะ
- แอพเครือข่าย
ขึ้นอยู่กับ:
- แอป
ลิงค์:
- แอป
บริการ #MySQL
ฐานข้อมูล:
ภาพ: mysql: ล่าสุด
container_name: ${APP_NAME}-db
รีสตาร์ท: เว้นแต่จะหยุด
tty: จริง
พอร์ต:
- 3306:3306
สิ่งแวดล้อม:
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_PASSWORD: ${DB_PASSWORD}
MYSQL_USER: ${DB_USERNAME}
SERVICE_TAGS: ผู้พัฒนา
เครือข่าย:
- แอพเครือข่าย
ปริมาณ:
- dbdata:/var/lib/mysql
- ./docker-compose_configs/mysql/my.cnf:/etc/mysql/my.cnf
#PhpMyAdmin
phpmyadmin:
ภาพ: phpmyadmin/phpmyadmin
ชื่อคอนเทนเนอร์: ${APP_NAME}-pma
สิ่งแวดล้อม:
PMA_HOST: ฐานข้อมูล
PMA_ARBITRARY: 1
UPLOAD_LIMIT: 400 ม
รีสตาร์ท: เสมอ
เครือข่าย:
- แอพเครือข่าย
พอร์ต:
- 8081:80
ขึ้นอยู่กับ:
- จิงซ์
- ฐานข้อมูล
#elasticsearch
การค้นหาแบบยืดหยุ่น:
ภาพ: elasticsearch:7.12.1
container_name: ${APP_NAME}-elasticsearch
ปริมาณ:
- ข้อมูลการค้นหาแบบยืดหยุ่น:/usr/share/elasticsearch/data
สิ่งแวดล้อม:
- Discovery.type=โหนดเดียว
- cluster.routing.allocation.disk.threshold_enabled=false
- bootstrap.memory_lock=จริง
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ขีด จำกัด :
เมมล็อก:
อ่อน: -1
ยาก: -1
พอร์ต:
- "9200:9200"
เครือข่าย:
- แอพเครือข่าย
ขึ้นอยู่กับ:
- ฐานข้อมูล
#นักเทียบท่าเครือข่าย
เครือข่าย:
แอปเครือข่าย:
ชื่อ: ${APP_NAME}-เครือข่าย
คนขับ: สะพาน
พร็อกซี:
ภายนอก:
ชื่อ: nginx-proxy
#วอลุ่ม
ปริมาณ:
ฐานข้อมูล:
คนขับ: ท้องถิ่น
ข้อมูลการค้นหาแบบยืดหยุ่น:
คนขับ: ท้องถิ่น