DXSh 0 Posted April 22, 2020 Author Report Share Posted April 22, 2020 root@vps-65623:~/cezerin# sudo docker exec -it 098087907a8c sh # ls Dockerfile README.md dist locales nginx package-lock.json postcss.config.js public src webpack.config.store.js LICENSE config docs logs node_modules package.json process.json scripts theme # cd logs # ls README.md server.log # nl server.log 1 {"message":"Store running at http://localhost:3000","level":"info"} # root@vps-65623:~# sudo docker exec -it 098087907a8c sh # ls Dockerfile README.md dist locales nginx package-lock.json postcss.config.js public src webpack.config.store.js LICENSE config docs logs node_modules package.json process.json scripts theme # nl Dockerfile 1 FROM node:8 2 MAINTAINER Nitin Goyal <nitingoyal.dev@gmail.com> 3 ENV NGINX_CODENAME stretch 4 ENV STORE_PORT 3000 5 # install requirements and NGINX 6 RUN echo "deb http://nginx.org/packages/debian/ ${NGINX_CODENAME} nginx" >> /etc/apt/sources.list \ 7 && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y --force-yes \ 8 gettext-base\ 9 bash \ 10 zip \ 11 unzip \ 12 wget \ 13 curl \ 14 nano \ 15 ca-certificates \ 16 nginx 17 # install PM2 18 RUN npm install pm2 -g 19 RUN mkdir -p /var/www/cezerin2-store 20 WORKDIR /var/www/cezerin2-store 21 COPY . /var/www/cezerin2-store 22 # Nginx config 23 COPY nginx/nginx.conf /etc/nginx/ 24 COPY nginx/default.conf.template /etc/nginx/conf.d/ 25 # script to run Nginx and PM2 26 COPY docker-entrypoint.sh /usr/local/bin/ 27 RUN chmod +x "/usr/local/bin/docker-entrypoint.sh" 28 # build project 29 RUN cd /var/www/cezerin2-store \ 30 && npm install \ 31 && npm run build 32 EXPOSE 80 33 # start Nginx, PM2 34 ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] # pwd /var/www/cezerin # не могу понять в докерфайле указано RUN mkdir -p /var/www/cezerin2-store а в контейнере /var/www/cezerin Quote Link to post Share on other sites
support 446 Posted April 22, 2020 Report Share Posted April 22, 2020 27 минут назад, DXSh сказал: root@vps-65623:~/cezerin# sudo docker exec -it 098087907a8c sh # ls Dockerfile README.md dist locales nginx package-lock.json postcss.config.js public src webpack.config.store.js LICENSE config docs logs node_modules package.json process.json scripts theme # cd logs # ls README.md server.log # nl server.log 1 {"message":"Store running at http://localhost:3000","level":"info"} # root@vps-65623:~# sudo docker exec -it 098087907a8c sh # ls Dockerfile README.md dist locales nginx package-lock.json postcss.config.js public src webpack.config.store.js LICENSE config docs logs node_modules package.json process.json scripts theme # nl Dockerfile 1 FROM node:8 2 MAINTAINER Nitin Goyal <nitingoyal.dev@gmail.com> 3 ENV NGINX_CODENAME stretch 4 ENV STORE_PORT 3000 5 # install requirements and NGINX 6 RUN echo "deb http://nginx.org/packages/debian/ ${NGINX_CODENAME} nginx" >> /etc/apt/sources.list \ 7 && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y --force-yes \ 8 gettext-base\ 9 bash \ 10 zip \ 11 unzip \ 12 wget \ 13 curl \ 14 nano \ 15 ca-certificates \ 16 nginx 17 # install PM2 18 RUN npm install pm2 -g 19 RUN mkdir -p /var/www/cezerin2-store 20 WORKDIR /var/www/cezerin2-store 21 COPY . /var/www/cezerin2-store 22 # Nginx config 23 COPY nginx/nginx.conf /etc/nginx/ 24 COPY nginx/default.conf.template /etc/nginx/conf.d/ 25 # script to run Nginx and PM2 26 COPY docker-entrypoint.sh /usr/local/bin/ 27 RUN chmod +x "/usr/local/bin/docker-entrypoint.sh" 28 # build project 29 RUN cd /var/www/cezerin2-store \ 30 && npm install \ 31 && npm run build 32 EXPOSE 80 33 # start Nginx, PM2 34 ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] # pwd /var/www/cezerin # не могу понять в докерфайле указано RUN mkdir -p /var/www/cezerin2-store а в контейнере /var/www/cezerin Не знаю, так глубоко я не копался в настройках докер запуска cezerin'a, вряд ли подскажу. Могу лишь сказать, что всё точно находится на гитхабе, в репозиториях, по идее. Может там где-то в каком-то конфиге сидит эта строка. Quote Link to post Share on other sites
DXSh 0 Posted April 22, 2020 Author Report Share Posted April 22, 2020 2 минуты назад, support сказал: Могу лишь сказать, что всё точно находится на гитхабе, в репозиториях, по идее. этот докерфайл уже из контейнера взят это только cezerin2-store в других контейнерах совпадает .. это явно ошибка, Quote Link to post Share on other sites
DXSh 0 Posted April 23, 2020 Author Report Share Posted April 23, 2020 http://83.166.241.132:3000/ вывел каталоги с конфигами из контейнера по образу темы. Пути подцепил , но теперь ошибка не реагирует на события т. Е. Щеллкаешь по товару или ссылке,ссылка меняться а обновление страницы не происходит что то в конфигах задел наверное . Quote Link to post Share on other sites
support 446 Posted April 23, 2020 Report Share Posted April 23, 2020 2 часа назад, DXSh сказал: http://83.166.241.132:3000/ вывел каталоги с конфигами из контейнера по образу темы. Пути подцепил , но теперь ошибка не реагирует на события т. Е. Щеллкаешь по товару или ссылке,ссылка меняться а обновление страницы не происходит что то в конфигах задел наверное . Посмотрите в консоли браузера. Видно, что у Вас не указан нормаьлно адрес API http://localhost:3001/ajax/products?category_id&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags&ids&limit=8&offset=0&on_sale&price_from&price_to&search&sku&sort=-date_updated&tags и поэтому ошибка. Не может получить данные о товарах. Должно же быть: http://83.166.241.132:3001/ajax/products?category_id&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags&ids&limit=8&offset=0&on_sale&price_from&price_to&search&sku&sort=-date_updated&tags Видимо, при стартей контейнерами не была указана переменная: -e API_BASE_URL=http://83.166.241.132:3001/api/vi т.е. адрес API не был указан. Quote Link to post Share on other sites
DXSh 0 Posted April 23, 2020 Author Report Share Posted April 23, 2020 1 час назад, support сказал: e API_BASE_URL=http://83.166.241.132:3001/api/vi Спасибо. Да где-то накосячил. Quote Link to post Share on other sites
support 446 Posted April 23, 2020 Report Share Posted April 23, 2020 3 минуты назад, DXSh сказал: Спасибо. Да где-то накосячил. Не за что, ну это точно мелочь. Раз в целом уже запустилось. Надо просто адрес правильно указать и всё. В cezerin2-store приложении это надо делать. Quote Link to post Share on other sites
DXSh 0 Posted April 23, 2020 Author Report Share Posted April 23, 2020 В этих файлах эту переменную указал верно. admin.js server.js store.production.js дб_хост Но в cezerin2/config/server.js дб_хост указан локальный ip, его тоже поменял, может в этом дело // config used by server side only const dbHost = process.env.DB_HOST || "127.0.0.1"; const dbPort = process.env.DB_PORT || 27017; const dbName = process.env.DB_NAME || "shop"; const dbUser = process.env.DB_USER || ""; const dbPass = process.env.DB_PASS || ""; const dbCred = dbUser.length > 0 || dbPass.length > 0 ? `${dbUser}:${dbPass}@` : ""; Quote Link to post Share on other sites
DXSh 0 Posted April 23, 2020 Author Report Share Posted April 23, 2020 cezerin2-store: image: cezerin2/cezerin2-store environment: - LANGUAGE=ru - API_BASE_URL=http://cezerin2/api/v1 - AJAX_BASE_URL=http://cezerin2/ajax Эти переменные в yml Quote Link to post Share on other sites
support 446 Posted April 23, 2020 Report Share Posted April 23, 2020 21 минуту назад, DXSh сказал: cezerin2-store: image: cezerin2/cezerin2-store environment: - LANGUAGE=ru - API_BASE_URL=http://cezerin2/api/v1 - AJAX_BASE_URL=http://cezerin2/ajax Эти переменные в yml Вот здесь пример yml конфига - https://github.com/Cezerin2/docker-cezerin2/tree/master/cezerin2-proxy Может такой конфиг попробовать. Quote Link to post Share on other sites
DXSh 0 Posted April 23, 2020 Author Report Share Posted April 23, 2020 5 часов назад, support сказал: http://cezerin2/api/v1 Что это за путь ? 28 минут назад, support сказал: API_BASE_URL=http://cezerin2/api/v1 Вместо cezerin ip тут указывать хоста на 3001 порт? Quote Link to post Share on other sites
support 446 Posted April 23, 2020 Report Share Posted April 23, 2020 1 час назад, DXSh сказал: Что это за путь ? Вместо cezerin ip тут указывать хоста на 3001 порт? Да, по идее, надо указать http://83.166.241.132:3001/api/vi Quote Link to post Share on other sites
DXSh 0 Posted April 24, 2020 Author Report Share Posted April 24, 2020 теперь путь прописывается правильно, завтра опишу в чём дело было, но на хосте не работает запускается на клик мышкой не реагирует http://83.166.241.132:3000/p админка летает там без проблем ... сам магазин не работает посмотрел логи контейнера магазина там нет сообщений ... лог бекэнда 2020-04-24T21:54:09: PM2 log: [--no-daemon] Continue to stream logs 2020-04-24T21:54:09: PM2 log: [--no-daemon] Exit on target PM2 exit pid=1 21:55:02 0|api | info: API running at http://localhost:3001 21:55:02 0|api | info: MongoDB connected successfully лог админки > cezerin2-admin@0.35.0 build /var/www/cezerin2-admin > webpack --config webpack.config.js --mode production Browserslist: caniuse-lite is outdated. Please run next command `npm update` Browserslist: caniuse-lite is outdated. Please run next command `npm update` Browserslist: caniuse-lite is outdated. Please run next command `npm update` Browserslist: caniuse-lite is outdated. Please run next command `npm update` Browserslist: caniuse-lite is outdated. Please run next command `npm update` Browserslist: caniuse-lite is outdated. Please run next command `npm update` Hash: 9fffb8759e3b4e1fd525 Version: webpack 4.29.6 Time: 352703ms Built at: 2020-04-24 22:00:45 Asset Size Chunks Chunk Names 404.html 4.5 KiB [emitted] assets/css/flexboxgrid.min.css 14 KiB [emitted] assets/css/style.css 5.22 KiB [emitted] assets/data/countries.js 4.71 KiB [emitted] assets/data/currencies.js 4.32 KiB [emitted] assets/data/timezones.js 46.5 KiB [emitted] assets/images/apps/facebook-customer-chat-plugin.png 637 KiB [emitted] [big] Quote Link to post Share on other sites
support 446 Posted April 25, 2020 Report Share Posted April 25, 2020 8 часов назад, DXSh сказал: теперь путь прописывается правильно, завтра опишу в чём дело было, но на хосте не работает запускается на клик мышкой не реагирует http://83.166.241.132:3000/p По категориям кликает. Но всё равно, товары не показывается потмоу что пытается грузить товары с адреса: http://localhost:3001/ajax/products?category_id=5e88ee1fd16c59003ef44532&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags%2Cposition&limit=30&offset=0&on_sale&price_from=0&price_to=0&search&sort=stock_status%2Cprice%2Cposition т.е. не поменялся адрес API почему-то. Может тогда вообще попробовать в cezerin2-store/config/store.js поменять так, убрав переменные: ajaxBaseUrl: 'http://83.166.241.132:3000/ajax', // used by Store (server side) apiBaseUrl: 'http://83.166.241.132:3001/api/v1', и в cezerin2-store/config/server.js: ajaxBaseUrl: 'http://83.166.241.132:3000/ajax' В Админке - Настройки - Общие. В опции Домен как прописан домен?! По идее, должно быть что-то вроде: http://83.166.241.132:3000 Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 там проблема в том, что еще при установке прописывается хост в БД. я когда переносил архив бд с локалки с товарами там уже был локалхост. поэтому надо заходить после переноса в бд и менять на свой хост. Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 1 час назад, support сказал: По идее, должно быть что-то вроде: http://83.166.241.132:3000 да в админке так и прописан. уже не знаю откуда он его берёт http://localhost:3001/ 2 часа назад, support сказал: ajaxBaseUrl: 'http://83.166.241.132:3000/ajax' ajaxBaseUrl: порт у меня 3001 ... Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 # node > console.log(process.env) { STORE_PORT: '3000', LANGUAGE: 'ru', NGINX_CODENAME: 'stretch', NODE_VERSION: '8.17.0', HOSTNAME: '967454a27a43', YARN_VERSION: '1.21.1', HOME: '/root', TERM: 'xterm', AJAX_BASE_URL: 'http://83.166.241.132:3001/ajax', PATH: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', CEZERIN_VERSION: 'master', API_BASE_URL: 'http://83.166.241.132:3001/api/v1', PWD: '/var/www/cezerin' } Это окружение в контейнере магазина cezerin2-store Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 http://83.166.241.132:3001/ что должно выводиться по этому порту в браузере? Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 cd server.log sh: 4: cd: can't cd to server.log # nl server.log 1 {"message":"API running at http://localhost:3001","level":"info"} 2 {"message":"MongoDB connected successfully","level":"info"} # это в логе на бэкэнде ... в файле ~/cezerin2-master/src/index.js app.use(responseTime()); app.use(cookieParser(settings.cookieSecretKey)); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use("/ajax", ajaxRouter); app.use("/api", apiRouter); app.use(logger.sendResponse); const server = app.listen(settings.apiListenPort, () => { const serverAddress = server.address(); winston.info(`API running at http://localhost:${serverAddress.port}`); }); dashboardWebSocket.listen(server); Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 тут обсуждали эту проблему ... но решения нет Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 не смог победить эту проблему, в контейнерах все ip как надо но в файле который генерирует вебпак прописан локальный хост... я уже поиском смотрел по контейнерам там localhost только в документации, модулях node и в этом файле js. Quote Link to post Share on other sites
support 446 Posted April 25, 2020 Report Share Posted April 25, 2020 10 минут назад, DXSh сказал: не смог победить эту проблему, в контейнерах все ip как надо но в файле который генерирует вебпак прописан локальный хост... я уже поиском смотрел по контейнерам там localhost только в документации, модулях node и в этом файле js. Да, очень странно. Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 7 часов назад, DXSh сказал: ajaxBaseUrl: 'http://83.166.241.132:3000/ajax' 3001 й порт такой же как и на api ? Quote Link to post Share on other sites
DXSh 0 Posted April 25, 2020 Author Report Share Posted April 25, 2020 9 часов назад, support сказал: всё равно, товары не показывается потмоу что пытается грузить товары с адреса: http://localhost:3001/ajax/products?category_id=5e88ee1fd16c59003ef44532&fields=path%2Cid%2Cname%2Ccategory_id%2Ccategory_name%2Csku%2Cimages%2Cenabled%2Cdiscontinued%2Cstock_status%2Cstock_quantity%2Cprice%2Con_sale%2Cregular_price%2Cattributes%2Ctags%2Cposition&limit=30&offset=0&on_sale&price_from=0&price_to=0&search&sort=stock_status%2Cprice%2Cposition т.е. не поменялся адрес API почему-то Прописан только в одном месте в этом генерируемом файле, знать бы в какой момент он генерируется ? Вебпаком . Принудительно его в консоли стартануть ещё раз ... Я думаю в самих образах прописан локальный адрес, когда я запускаю контейнеры он берет данные от туда но после того как контейнер создан он монтирует файлы конфигурации с сервера... + Переменные окружения ещё задаются в yml. Вот думаю на тот момент когда вебпак создаёт эти файлы там ещё локалхост. И этот файл настолько большой там много кода, что я думаю не кеширует ли он его вообще жёстко ... Где-то ещё ... Quote Link to post Share on other sites
support 446 Posted April 25, 2020 Report Share Posted April 25, 2020 36 минут назад, DXSh сказал: Прописан только в одном месте в этом генерируемом файле, знать бы в какой момент он генерируется ? Вебпаком . Принудительно его в консоли стартануть ещё раз ... Я думаю в самих образах прописан локальный адрес, когда я запускаю контейнеры он берет данные от туда но после того как контейнер создан он монтирует файлы конфигурации с сервера... + Переменные окружения ещё задаются в yml. Вот думаю на тот момент когда вебпак создаёт эти файлы там ещё локалхост. И этот файл настолько большой там много кода, что я думаю не кеширует ли он его вообще жёстко ... Где-то ещё ... а если по файлам cezerin всем просто запустить поиск и попробовать найти этот адрес?! т..е выкачать в папку все 3 github репозитория и запустить поиск по всем файлам. Может найдёт что?! P.S. Даже не знаю, может тоже попробовать запуститься докером на локальном компе. Я вроде запускался для теста, всё работало. Но я не менял url адреса, а оставлял как есть. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.