Nginx 配置
阿新 • • 發佈:2020-07-15
t****@laravel-docker-t****:~/***api/***s-api/docker-compose/nginx$ cat ***api.conf server { listen 80; index index.php index.html; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/public; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass app:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location / { try_files $uri $uri/ /index.php?$query_string; gzip_static on; } }
t****@laravel-docker-t****:~/***api/***s-api/docker-compose/nginx$ docker exec -it ***api-nginx sh
/ # [30;5Rll <<<注意這個是按下鍵盤自動加了[30;5R 當時沒注意,輸入ll就成了這樣
sh: [30: not found
sh: 5Rll: not found
/ # [30;5Rls <<<注意這個是按下鍵盤自動加了[30;5R 當時沒注意,輸入ls就成了這樣
sh: [30: not found
sh: 5Rls: not found
/ # ls
bin etc mnt run tmp
dev home opt sbin usr
docker-entrypoint.d lib proc srv var
docker-entrypoint.sh media root sys
/ # ll
sh: ll: not found
/ # cd var/www/ /var/www # ll sh: ll: not found /var/www # ls Dockerfile composer.lock package.json storage README.md config phpunit.xml tests app database public vendor artisan docker-compose resources webpack.mix.js bootstrap docker-compose.prod.yml routes composer.json package-lock.json server.php
/var/www # cd ../etc sh: cd: can't cd to ../etc: No such file or directory /var/www # cd ~ ~ # cd / / # ls bin etc mnt run tmp
dev home opt sbin usr
docker-entrypoint.d lib proc srv var
docker-entrypoint.sh media root sys
/ # cd etc/nginx/
/etc/nginx # ls
conf.d fastcgi_params koi-win modules scgi_params win-utf
fastcgi.conf koi-utf mime.types nginx.conf uwsgi_params
/etc/nginx # cat nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
/etc/nginx # cd conf.d/ /etc/nginx/conf.d # ls ***api.conf
/etc/nginx/conf.d # [43;21R
可以結合docker-compose.yml一起看:
version: "3.7" services: app: build: args: user: ***api uid: 1000 context: ./ dockerfile: Dockerfile image: ***apii container_name: ***api-app restart: unless-stopped working_dir: /var/www/ volumes: - ./:/var/www networks: - ***apin db: image: mysql:5.7 #請注意有的情況是需要考慮mysql安裝後的初始密碼問題的,有的是空密有的是生成密碼,
#所以需要更改,但我們docker這裡配置的environment裡設定好了,就是OK的 container_name: ***api-db restart: unless-stopped environment: MYSQL_DATABASE: ${DB_DATABASE}#於.env中讀取 MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} #與下同 MYSQL_PASSWORD: ${DB_PASSWORD} #實際採用了7K*************z MYSQL_USER: ${DB_USERNAME} #實際採用了 root*** SERVICE_TAGS: dev SERVICE_NAME: mysql volumes: - ./docker-compose/mysql:/docker-entrypoint-initdb.d networks: - ***apin nginx: image: nginx:1.19.1-alpine container_name: ***api-nginx restart: unless-stopped ports: - “80:80" volumes: - ./:/var/www - ./docker-compose/nginx:/etc/nginx/conf.d networks: - ***apin networks: ***apin: driver: bridge