Рубрики
Uncategorized

Серия Yii (1) Создание виртуальной среды разработки и конфигурация установки Yii

Автор оригинала: David Wong.

Недавно я начал работать с 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.

Будьте осторожны: Я немного устал писать, и у некоторых из них все еще есть короткий раздел для продолжения. Это воспоминания малыша после установки, на самом деле, возникло много проблем, о которых, возможно, здесь не написано, потому что я забыл, эй, добро пожаловать для обмена в комментариях.