Недавно я начал работать с 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.
Будьте осторожны: Я немного устал писать, и у некоторых из них все еще есть короткий раздел для продолжения. Это воспоминания малыша после установки, на самом деле, возникло много проблем, о которых, возможно, здесь не написано, потому что я забыл, эй, добро пожаловать для обмена в комментариях.