Недавно я начал работать с Yii и занимался разработкой vagrant для laravel. Поэтому на этот раз попробуйте создать коробку, проект, посвященный написанию фреймворка Yii.
В этом случае мы многое выиграли, создав коробку. 1) Знаком с конфигурацией nginx; 2) Научитесь читать журнал ошибок nginx; 3) Улучшите способность решать проблемы и так далее. Я надеюсь, что вы также сможете многому научиться, играя в “Как построить свою собственную коробку”.
Моя конфигурация коробки: ubuntu+PHP7.1.0alpha2+ginx/1.10.1+MySQL5.5.49+Композитор1.1.3.
До того, как я начал, мой компьютер был оснащен Vagrant и VirtualBox. Когда Windows установит эти два программного обеспечения, не забудьте включить виртуализацию оборудования (VT-x) через BIOS. Здесь мы рекомендуем другой терминал Mac. iTerm2
Он очень прост в использовании.
Добавить поле
Мне нужна система Ubuntu, поэтому я использую vagrant для добавления пустых ящиков, в которых в настоящее время есть только одна система Ubuntu.
1. Ссылки: Добавление графы в Официальные документы
2. Добавить поле: vagrant box добавить pu
php
et/ubuntu1404-x64
3. Создайте папку для инициализации поля: комплекс mkdir
4. Войдите в папку Complex: cd complex
5. Посмотрите, сколько коробок в настоящее время: список коробок бродяг
dev (virtualbox, 0) laravel/homestead (virtualbox, 0.4.4) puphpet/ubuntu1404-x64 (virtualbox, 20151201)
6. Поле инициализации: vagrant init puphpet/ubuntu1404-x64
7. Вы найдете настоящий комплекс
В каталоге есть файл с именем Vagrantfile
Этот файл представляет собой puphpet/ubuntu1404-x64
Файлы инициализации для этого окна
8、 Vagrantfile
Конфигурация файла, модификация файла хороша в двух местах:
Настройте config.vm.network
Этот параметр, IP
Его можно сопоставить по желанию.
папка config.vm.synced_
Первый параметр-мой рабочий каталог под mac, а второй параметр-мой рабочий каталог в поле. Благодаря этой настройке файлы на локальном компьютере и в коробке будут подключены, а содержимое двух папок будет одинаковым. Если в содержимом одной папки произошли какие-либо изменения, в другой папке также произойдет такое же изменение. Вы можете настроить его в соответствии с вашим собственным каталогом, и вам лучше использовать абсолютный путь.
# using a specific IP. config.vm.network "private_network", ip: "192.168.22.55" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. config.vm.synced_folder "~/PhpstormProjects", "/www"
9. Реализация бродяга вверх
Откройте коробку.
10. Реализация бродячий ssh
Вы можете ввести поле.
11. С поправками Vagrantfile
Не забудьте перезапустить коробку перезагрузка vagrant
Установите nginx
1. Ссылка: Установка официального документа nginx 2. Необходимо добавить перед установкой nginx nginx_signing.ключ
Адрес загрузки, официальные документы также имеют адрес загрузки. Я загрузил его в папку, в которой я получил доступ к коробке на своем компьютере. Затем я зашел в box и выполнил следующие команды: sudo apt-key добавить nginx_signing.key
3. Замените код версии дистрибутива Ubuntu номером кода. Эта система ubuntu1404-x64
Поэтому кодовое имя надежный
Посредством реализации sudo vi/etc/apt/sources.список
В /и т. Д./apt/источники.список
Добавьте следующий код в конце файла:
deb http://nginx.org/packages/ubuntu/ trusty nginx deb-src http://nginx.org/packages/ubuntu/ trusty nginx
wq
Сохранить, связанные с редактированием VI операции, пожалуйста, Google.
4. Установите nginx и выполните следующие команды apt-получить обновление
apt-получить установку nginx
5. Введите /etc/nginx
В папку, измените nginx.conf
Документ, будет файл отправки включен;
Измените на чтение файл отправки выключен;
Поскольку VirtualBox о файле отправки
Есть ошибка, которая может привести к повреждению файла или не обновлять файл, поэтому установите его в ____________ выключено
6. Общие команды nginx:
Sudo service nginx restart restart nginx Ps-ax | grep nginx Views all the processes that nginx has opened
Установите PHP7
1. Справочная статья, на самом деле, эта статья была подробно описана, следующим простым повторением
2. Выполните следующие команды в соответствии с apt-cache search php 7
Выберите версию и модуль, которые вы хотите установить в результате выполнения:
$ sudo apt-get install -y language-pack-en-base $ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php $ sudo apt-get update $ apt-cache search php7 $ sudo apt-get install php7.1 php7.1-cli php7.1-fpm php7.1-gd php7.1-json php7.1-mysql php7.1-readline
3. Проверьте, успешно ли установлен php7
Добавьте доменное имя в локальный файл/etc/hosts
192.168.22.55 test.yuan.com
В поле введите
/www
Каталог, Выполнениенажмите index.php
Создайте индекс. PHP-файл и добавьте в файл следующее
Войдите в
/etc/nginx/conf.d
Папка, Выполнениеsudo cp default.conftest.yuan.com.conf
И измените содержимое следующим образом
server { listen 80; server_name test.yuan.com; index index.html index.htm index.php default.php; root /www; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { try_files $uri $uri/ /index.php?$query_string; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
Войдите в браузер, введите
test.yuan.com
этого будет достаточно
4. Если вы хотите узнать больше о параметрах конфигурации nginx, вы можете обратиться к описанию базовой конфигурации и параметров nginx.
Примечание: Если это не удалось, это может быть проблема с конфигурацией, связанная с nginx. Пожалуйста, проверьте журнал ошибок nginx и Google в соответствии с информацией, полученной из журнала ошибок. Файлы журнала ошибок Nginx обычно представляют собой среднюю ошибку var/log/nginx.логИт также может быть передан.nginx.conf Найдите файл журнала ошибок для хранения каталога.
Установите MySQL
1. Ссылки: Официальные документы
2. Установите MySQL: sudo apt-get установите mysql-сервер
В процессе установки пользователю потребуется установить пароль для root и ввести нужный пароль.
3. Общие команды MySQL:
Mysql-u username-p MySQL login Exit Exit Sudo service MySQL status MySQL running status Sudo service MySQL stop stops running MySQL Sudo service mysql start opens MySQL
4. На этой машине я использую Sequel Pro (Инструмент Управления графическим интерфейсом Mysql). Для подключения MySQL в поле требуется SSH-соединение. ssh-ключ
Через реализацию бродячая ssh-конфигурация
Команда известна. Конфигурации соединений показаны на рисунке 1:
Установите Composer
1. Ссылка: Официальный документ Составитель: Начало работы
2. Выполните следующие команды, чтобы получить последнюю версию composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
3. Глобальная установка, выполните следующие команды: mv composer.phar/usr/local/bin/composer
композитор
Конфигурация Установки Yii 1.1
Конфигурация Установки Yii2
При выполнении команд, предусмотренных официальными документами, при установке были допущены некоторые ошибки. Следующие команды и конфигурации являются результатом успешного собственного тестирования. Необходимым условием для установки Yii2 является успешная установка Composer.
1. Ссылка: Авторитетное руководство Yii 2.0 по установке Yii
2. Посредством реализации самообновление композитора
Убедитесь, что композитор обновлен.
3. Чтобы установить Yii2, выполните следующие команды
composer global require fxp/composer-asset-plugin --no-plugins # The first command, install Composer asset plugin composer create-project --prefer-dist yiisoft/yii2-app-basic yii Install Yii in the installation directory named yii. You can also use other directory names.
4. На Локальной машине etc/hosts
Настройте доменное имя 192.168.22.55 yii.yuan.com
5. конфигурация nginx, в поле /etc/nginx/conf.d
Создайте в каталоге yii.yuan.com.conf
Его содержимое выглядит следующим образом:
server { listen 80; server_name yii.yuan.com; index index.php; root /www/yii/web; charset utf-8; client_max_body_size 128M; #access_log /var/log/nginx/log/host.access.log main; location / { try_files $uri $uri/ /index.php?$query_string; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.(ht|svn|git) { deny all; } }
6. Пожалуйста, выполните эту команду как локально, так и в поле: sudo chmod-R 777 iii
Предоставьте папке Yii самые высокие разрешения, чтобы предотвратить ошибки разрешений при доступе к этому проекту.
7. Если есть ошибка 502 или ошибка входного файла не указана, она должна быть связана с конфигурацией nginx. Пожалуйста, внимательно ознакомьтесь с журналом ошибок nginx.
Будьте осторожны: Я немного устал писать, и у некоторых из них все еще есть короткий раздел для продолжения. Это воспоминания малыша после установки, на самом деле, возникло много проблем, о которых, возможно, здесь не написано, потому что я забыл, эй, добро пожаловать для обмена в комментариях.