Будучи детскими ботинками переднего плана, вы, возможно, редко имеете доступ к знаниям, связанным с серверами, но чтобы быть квалифицированным инженером-программистом, вы должны использовать эти «мягкие навыки». Окружающая среда, чувство достижения является соответствующим.
основное введение
- Эта статья основана на системе MacOS High Sierra 10.13.3. Различия в системе могут вызвать различные проблемы в процессе сборки. Пожалуйста, погуглите сами.
- Vagrant — это мощный инструмент. Используя vagrant + vitualBox, вы можете создать виртуальную среду разработки и поделиться кодом с виртуальной машиной Linux. Вы можете настроить эту виртуальную машину так, чтобы она была такой же, как производственная среда. Вы также можете упаковать свою собственную систему в образ виртуальной машины и отправить ее друзьям для использования.
- Vagrant часто используется в качестве инструмента развертывания для сред разработки, а docker — это технология виртуализации.Docker в основном используется в производственных средах, и он более легкий.Конечно, вы также можете использовать докер.
- И Centos, и Ubuntu являются одними из дистрибутивов Linux, Но обычно компании используют Centos в качестве собственной системы производственной среды.
Инструменты и программное обеспечение для установки
- Mac
- vitualBox
- vagrant
- centos/7
- панель пагоды(Простой и удобный инструмент панели управления сервером)
- SwitchHosts(простой в использовании инструмент управления хостами)
Установить
Перейдите на официальный сайт, чтобы скачать и установитьvitualBox, я скачал версию OS X, номер версии 5.2.12
переустановитьvagrant, Выберите здесь версию Mac os, и вы сможете установить ее в соответствии с подсказками установщика.
Откройте терминал и войдите в каталог хоста системы Mac, создайте папку для хранения вашей конфигурации, имя должно быть простым и понятным, вотcentos_vagrant
:
$ ~mkdir centos_vagrant
Зайдите в Интернет, чтобы найти доступную коробку, вы можете понять коробку как файл образа, похожий на iso, оснащенный нужной вам системой, начнемОфициальный сайтПроверить:
Найдите изображение, которое хотите загрузить, щелкните по нему и обнаружите, что вы можете использовать команду vagrant для загрузки и инициализации поля:
- Зайдите в Интернет, чтобы найти файл ящика, которым поделились другие,поделился здесь, качаем в созданную в начале папку
centos_vagrant
, но общедоступная версия может отличаться от версии на официальном веб-сайте, что требует внимания. - По-прежнему запустите команду vagrant init centos/7 в терминале, но во время выполнения вы обнаружите, что терминал печатает исходный адрес файла коробки, как показано на рисунке ниже, как только появится адрес, вы можете нажмите ctrl+c чтобы выйти
Копирование адреса для доступа к загрузке в браузере намного быстрее, чем загрузка через командную строку в терминале.Конечно, все это требует научного доступа в Интернет для завершения.
среда сборки
Узнайте о распространенных бродячих командах
$ vagrant
установить коробку
в только что созданныйcentos_vagrant
папка, если она естьvagrantfile
файл, сначала удалите его, просто скачайте бокс-файл, также положите его в эту папку, переименуйте, здесь он называетсяcentos-7.box
Откройте терминал и перейдите кcentos_vagrant
папку, используйте следующую команду:
$ vagrant box add centos-7.box
$ vagrant init centos-7
$ vagrant up
Этот процесс лучше всего подходит для того, чтобы ваше приложение vitualBox было открыто.
Настройка общего доступа к файлам и каталогам
- Вы можете добавить часто используемые команды в псевдоним и использовать их глобально.Поскольку у меня установлен zsh, я редактирую .zshrc и сохраняю его.Учащиеся, у которых его нет, могут найти .bashrc или .bash_profile для редактирования.
#vagrant-centos
alias centos_up='cd ~/centos_vagrant && vagrant up'
alias centos_status='cd ~/centos_vagrant && vagrant status'
alias centos_ssh='cd ~/centos_vagrant && vagrant ssh'
alias centos_halt='cd ~/centos_vagrant && vagrant halt'
alias centos_reload='cd ~/centos_vagrant && vagrant reload --provision'
alias centos_vi='cd ~/centos_vagrant && vi Vagrantfile'
- Изменить бродячий файл
Создайте случайную папку локально, предполагая, что онаcentos_vagrant_project
,использоватьcentos_ssh
илиvagrant ssh
(Centos_xxx по умолчанию используется позже), войдите в виртуальную машину
использоватьls -al
команда, вы обнаружите, что в виртуальной среде есть только .ssh, .bashrc и другие файлы
Также создайте папку в виртуальной машине, желательно папку с таким же именем, для удобства управления
$ mkdir centos_vagrant_project
Снова откройте терминал и используйтеcentos_vi
Отредактируйте vagrantfile и обязательно удалите предыдущий комментарий #! ! (Вы также можете использовать редактирование текста, если не используете команды vim),
Измените следующим образом:
Первый каталог папки — это каталог, который вы хотите сопоставить с виртуальной машиной, второй — это каталог на вашей виртуальной машине, второе предложение config.vm.synced... — отключить исходный путь по умолчанию.
Но здесь есть яма, после того как я подумал, что конфигурация завершена,centos_reload
После перезапуска вcentos_vagrant_project
Были внесены некоторые изменения в папку, и было обнаружено, что в виртуальной машине изменений не было.После расследования было обнаружено, что путь к каталогу (последний), отображаемый виртуальной машиной, был неверным.Он должен быть : /home/vagrant/centos_vagrant_project, то есть путь абсолютный путь,pwd
команда для просмотра пути к файлу
Следует отметить, что предыдущий локальный каталог~/centos_vagrant_project
Волнистая линия внутри представляет собой каталог хоста, т.е./users/username
Таким образом, выполняется совместное использование сопоставления каталогов.Добавьте файл в папку на локальной машине, и вы обнаружите, что файлы на виртуальной машине также синхронизируются.
Внешний доступ и перенаправление портов
- Самостоятельно установить Nginx для сопоставления доменных имен слишком сложно, рекомендуется простой инструмент:панель пагоды, конечно, вы также можете установить Nginx самостоятельно, чтобы бросить...
- Войдите в виртуальную машину, используя учетную запись root
$ centos_ssh
$ sudo su -
Установите с помощью следующей команды:
$ yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
После завершения установки вам будут присвоены учетная запись и пароль, обязательно запомните
Если вы уже устанавливали Nginx, вы можете удалить его с помощью команды$ yum remove nginx
- Измените vagrantfile для переадресации портов и внешнего доступа.
centos_vi
Откройте и отредактируйте файл vagrantfile, конфигурация выглядит следующим образом.
Проще говоря, гость — это соответствующий порт виртуальной машины, а хост — соответствующий порт локальной машины.Так как 80-й порт моей локальной машины часто используется для проектов, я могу избежать случайного открытия виртуальной машины. в один прекрасный день порт занят, и я не смог его найти.По причине, я выбрал менее часто используемый 8089
Порт 8888 этой машины также соответствует порту 8888 виртуальной машины, который был необходим, когда пагода была установлена ранее. После завершения настройки перезапустите виртуальную машину и войдите в браузер127.0.0.1:8888
, используйте учетную запись и пароль, назначенные вам ранее, войдите в панель пагоды, лучше всего изменить имя учетной записи и пароль, которые легко запомнить после входа в систему.
Сопоставление доменных имен
- Откройте панель пагоды и установите то, что вам нужно в «Управление программным обеспечением», например: Nginx, PHP, Mysql...
- Вы можете добавлять сайты в «Веб-сайт», но когда вы используете панель пагоды для создания сайта, он будет создан для вас в каталоге www/wwwroot по умолчанию, но проблема невелика.
- Рекомендуемое использованиеSwitchHostsПрограммное обеспечение для управления вашими локальными хостами
Пример сопоставления доменного имени
- Создайте локально папку test_erp с путем «~/my-pro/test_erp».
- При создании нового сайта укажите путь /www/wwwroot/test_erp и доменное имя test-erp.com.
- После создания сайта вам не нужно заходить на виртуальную машину для создания каталога, пагода поможет вам его создать.
- Настройте сайт хостов с помощью SwitchHosts: 127.0.0.1 test-erp.com
- Увеличьте конфигурацию vagrantfile, хорошо поработайте над сопоставлением каталогов и перезапустите виртуальную машину.
- Используйте test-erp.com:8089 для доступа в браузере
Конфигурация доменного имени пагоды:
Страница выглядит следующим образом:Собственный путь к файлу: Путь к файлу виртуальной машины: конфигурация файла vagrantfile:
образ пакета
$ vagrant package --output centos-7-ydj.box --vagrantfile Vagrantfile
Выходной результат:
➜ centos_vagrant vagrant package --output centos-7-ydj.box --vagrantfile Vagrantfile
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: /Users/zhangyilan/centos_vagrant/centos-7-ydj.box
==> default: Packaging additional file: Vagrantfile
➜ centos_vagrant ls
Vagrantfile centos-7-ydj.box centos-7.box
Упаковка полная! !
tips
- Каждый раз, когда вы изменяете файл vagrantfile или выполняете операцию на виртуальной машине, вы должны
reload重启
! ! - Конфигурация Nginx подвержена проблемам с разрешениями 403 Forbsiden, включая ряд проблем, таких как каталог linux/пользователь/разрешения.
- Порт, имя файла и т. д., лучше всего, чтобы хост и виртуальная машина были согласованы, иначе будет головная боль.
- Когда дело доходит до серверов и других связанных вещей, если вы не изучите некоторые команды Linux и Vim, вы вряд ли сможете это сделать...
Эпилог
Подбрасывание сервера и настройка окружения процесс, требующий терпения и усидчивости, и будут возникать различные проблемы, в это время нужно заходить в гугль, постоянно проверять баг, и записывать его, чтобы не попасть в снова яма.
Разумное использование инструментов также очень важно, в конце концов, мы не занимаемся профессиональной эксплуатацией и обслуживанием...
Наконец, братья и сестры, если вы считаете, что все в порядке, не скупитесь на осторожность (´▽`ʃ♡ƪ), будьте нетерпеливы!