成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Yii系列(1)打造虛擬開發(fā)環(huán)境及Yii的安裝配置

shleyZ / 3594人閱讀

摘要:我下載到了本機(jī)上與打通的文件夾中,再進(jìn)入,執(zhí)行以下命令用代號取代的發(fā)行版本代號,本系統(tǒng)是所以代號為通過執(zhí)行,在文件尾部中添加,以下代碼保存,相關(guān)編輯操作請谷歌。安裝的前提是,已經(jīng)安裝成功。

最近因?yàn)楣ぷ鏖_始接觸Yii,之前開發(fā)使用laravel習(xí)慣用vagrant。所以,這次嘗試著打造一個(gè)box,專門用來寫Yii框架的項(xiàng)目。

在這次打造box,收獲了很多:
1)更加熟悉了nginx的配置;
2)學(xué)會了看nginx的錯(cuò)誤日志;
3)提高了解決問題的能力等等。
希望大家也能通過,玩玩如何打造一個(gè)自己的box學(xué)到很多東西。

我的box配置是:
ubuntu+PHP7.1.0alpha2+ginx/1.10.1+MySQL5.5.49+Composer1.1.3.

在開始之前,我的電腦已經(jīng)裝好了Vagrant和Virtual Box。windows安裝這兩個(gè)軟件時(shí),請記住通過BIOS來開啟系統(tǒng)的硬件虛擬化(VT-x)。
這里再推薦一個(gè)Mac下用的終端iTerm2,超好用。

添加box

我需要一個(gè)ubuntu系統(tǒng),所以我通過vagrant添加目前已經(jīng)有只ubuntu系統(tǒng)的空box。

1、參考資料:官方文檔添加box

2、添加box:vagrant box add puphpet/ubuntu1404-x64

3、創(chuàng)建一個(gè)文件夾,用來初始化box:mkdir complex

4、進(jìn)入complex文件夾:cd complex

5、查看目前有幾個(gè)box:vagrant box list

dev                    (virtualbox, 0)
laravel/homestead      (virtualbox, 0.4.4)
puphpet/ubuntu1404-x64 (virtualbox, 20151201)

6、初始化box:vagrant init puphpet/ubuntu1404-x64

7、你會發(fā)現(xiàn)當(dāng)前complex目錄下,有一個(gè)文件名為Vagrantfile,這個(gè)文件為puphpet/ubuntu1404-x64這個(gè)盒子的初始化文件

8、Vagrantfile文件配置,文件修改兩個(gè)地方就好:

設(shè)置config.vm.network這個(gè)參數(shù),IP可以隨意配;

config.vm.synced_folder中,第一個(gè)參數(shù)是我mac下的工作目錄,第二個(gè)參數(shù)是我box中的工作目錄。通過這個(gè)設(shè)置,將本機(jī)和box中的文件打通,兩個(gè)文件夾內(nèi)容將會相同,如果有一個(gè)文件夾內(nèi)容有什么變化,另一個(gè)文件夾也會有相同的變化。大家根據(jù)自己的目錄配置即可,最好采用絕對路徑

  # 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、執(zhí)行vagrant up,即可開啟box。

10、執(zhí)行vagrant ssh,即可進(jìn)入box中。

11、如過修改了Vagrantfile,請記住重啟boxvagrant reload

安裝nginx

1、參考資料:官方文檔nginx安裝
2、安裝nginx前需要添加nginx_signing.key,下載地址,官方文檔里也有下載地址。我下載到了本機(jī)上與box打通的文件夾中,再進(jìn)入box,執(zhí)行以下命令:sudo apt-key add nginx_signing.key
3、用代號取代ubuntu的發(fā)行版本代號,本系統(tǒng)是ubuntu1404-x64,所以代號為trusty;通過執(zhí)行sudo vi /etc/apt/sources.list,在/etc/apt/sources.list文件尾部中添加,以下代碼:

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

wq保存,相關(guān)vi編輯操作請谷歌。

4、安裝nginx,執(zhí)行以下命令
apt-get update
apt-get install nginx

5、進(jìn)入/etc/nginx文件夾中,修改nginx.conf文件,將 sendfile on;修改為sendfile off;因?yàn)?VirtualBox關(guān)于sendfile有一個(gè)bug,這個(gè)bug可能會導(dǎo)致文件損壞或者不更新文件,所以設(shè)置為off

6、nginx常用命令:

sudo service nginx restart    重啟nginx
ps -ax | grep nginx           查看nginx所有開啟的進(jìn)程
安裝PHP7

1、參考文章,其實(shí)這篇文章已經(jīng)說了很詳細(xì)了,下面再簡單的重復(fù)下

2、執(zhí)行以下命令,可以根據(jù)apt-cache search php7的執(zhí)行結(jié)果選擇你們想要安裝的版本和模塊即可:

$ 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是否已經(jīng)安裝成功

添加域名,在本機(jī) /etc/hosts文件中添加192.168.22.55 test.yuan.com

在box中,進(jìn)入/www目錄,執(zhí)行touch index.php創(chuàng)建index.php文件,并在文件中添加以下內(nèi)容

進(jìn)入/etc/nginx/conf.d文件夾,執(zhí)行sudo cp default.conf test.yuan.com.conf,并修改內(nèi)容為

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;
    #}
}

進(jìn)入瀏覽器,輸入test.yuan.com即可

4、如果想更加了解nginx相關(guān)配置參數(shù)信息,可參閱:nginx基本配置與參數(shù)說明

注意:如果不成功,可能是nginx相關(guān)配置問題,請查看nginx錯(cuò)誤日志,根據(jù)錯(cuò)誤日志返回的信息谷歌。nginx錯(cuò)誤日志文件一般是var/log/nginx中的error.log.也可通過nginx.conf查到錯(cuò)誤日志文件存放目錄.
安裝MySQL

1、參考資料:官方文檔

2、安裝MySQL:sudo apt-get install mysql-server ,安裝過程中會要求對root用戶設(shè)置密碼,輸入你想要的密碼即可。

3、MySQL常用命令:

mysql -u username -p  mysql登陸
exit  退出
sudo service mysql status   mysql運(yùn)行狀態(tài)
sudo service mysql stop     停止運(yùn)行mysql 
sudo service mysql start    開啟mysql
 

4、在本機(jī),我使用Sequel Pro(mysql圖形話界面管理工具)。連接box中mysql需要通過ssh連接,ssh key通過執(zhí)行vagrant ssh-config命令即可知道。連接配置如圖:

安裝Composer

1、參考資料:官方文檔Composer:Getting Started

2、執(zhí)行以下命令即可獲得最新版本的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、全局安裝,執(zhí)行以下命令即可:
mv composer.phar /usr/local/bin/composer
composer

安裝配置Yii1.1 安裝配置Yii2

在安裝時(shí),按照官方文檔提供的命令執(zhí)行時(shí),出了些錯(cuò)誤。以下相關(guān)命令和配置都是在經(jīng)過本機(jī)測試成功之后的結(jié)果。安裝Yii2的前提是,已經(jīng)安裝成功Composer。

1、參考資料:Yii 2.0 權(quán)威指南 安裝 Yii

2、通過執(zhí)行composer self-update確保Composer已經(jīng)為最新版本。

3、執(zhí)行以下命令即可安裝Yii2

composer global require fxp/composer-asset-plugin --no-plugins
#第一條命令,安裝 Composer asset plugin

composer create-project --prefer-dist yiisoft/yii2-app-basic yii
#將Yii安裝在名為yii的安裝目錄,你也可以其他目錄名。

4、在本機(jī)etc/hosts 配置域名192.168.22.55 yii.yuan.com

5、nginx配置,在box中/etc/nginx/conf.d目錄中創(chuàng)建yii.yuan.com.conf,其內(nèi)容如下:

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、請?jiān)诒緳C(jī)和box中都執(zhí)行此命令:sudo chmod -R 777 yii賦予yii文件夾最高權(quán)限,以防在訪問此項(xiàng)目時(shí),出現(xiàn)權(quán)限錯(cuò)誤。

7、如果出現(xiàn)502錯(cuò)誤或者not input file specified錯(cuò)誤一定跟nginx配置有關(guān),請仔細(xì)看nginx錯(cuò)誤日志。

注意:寫的有點(diǎn)累了,有些還有一小節(jié)待續(xù)。這些是在本寶寶安裝完之后的回憶,其實(shí)遇到挺多問題,這里可能并沒有寫到,因?yàn)槲彝?,嘿嘿,歡迎大家在評論里交流。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/21755.html

相關(guān)文章

  • YII2快速學(xué)習(xí)筆記

    摘要:高性能始終是的首要目標(biāo)之一。版是上代的老版本,現(xiàn)在處于維護(hù)狀態(tài)。版是一個(gè)完全重寫的版本,采用了最新的技術(shù)和協(xié)議,包括依賴包管理器代碼規(guī)范命名空間特質(zhì)等等。所以,我們學(xué)習(xí)版本。啟用本鏡像服務(wù)系統(tǒng)全局配置即將配置信息添加到的全局配置文件中。 工作中需要用到Y(jié)II框架,于是乎,系統(tǒng)的學(xué)習(xí)下這套框架,詳細(xì)教程請看考該站完整系列:YII2教程 一、YII簡介 1、什么是YII Yii 是一個(gè)高性...

    kbyyd24 評論0 收藏0
  • Yii2 起步 之創(chuàng)建項(xiàng)目

    摘要:目前還處于版本,相關(guān)文檔也一直在變化,如有疏漏,還請及時(shí)反饋安裝兩種安裝方式,或者下載包使用安裝初始化項(xiàng)目推薦下,如果本機(jī)還沒有安裝,我的做法是是直接下載包假定你的工作目錄是,將下載的放在下命令行進(jìn)入執(zhí)行如下命令,初始化一個(gè)基于的應(yīng)用 yii2目前還處于beta版本,相關(guān)文檔也一直在變化,如有疏漏,還請及時(shí)反饋 Yii2安裝 兩種安裝方式,composer或者下載zip包 ...

    wuyangnju 評論0 收藏0
  • Yii2系列教程四:實(shí)現(xiàn)用戶注冊,驗(yàn)證,登錄

    摘要:開始使用郵箱配置好了之后,我們就可以開始使用了,首先我們來修改一下我們的導(dǎo)航欄,因?yàn)槲覀兿雽?shí)現(xiàn)的就是我們常常看到的在導(dǎo)航欄的右側(cè)的注冊和登錄按鈕。 原文來自: https://jellybool.com/post/programming-with-yii2-integrating-user-regi... 本來打算昨晚寫的這篇教程,但是忙著約會去了,所以現(xiàn)在補(bǔ)上吧。 上一篇...

    boredream 評論0 收藏0
  • Yii2系列教程六:集成編輯器

    摘要:而這些問題目前的最好解決方案就是集成一個(gè)編輯器,鑒于大家這里不是指程序員都是喜歡所見即所得,所以,這里我主要是演示怎么集成所見即所得的富文本編輯器。 原文來自: https://jellybool.com/post/programming-with-yii2-rich-text-input-with-redactor 首先,很慚愧的是,前幾天都出去外面玩了,沒有及時(shí)更新教程,...

    xiaochao 評論0 收藏0
  • Yii-Casbin:在 Yii 里使用 Casbin,支持 ACL、RBAC多種模型權(quán)限管理框架

    摘要:是一個(gè)用語言打造的輕量級開源訪問控制框架,目前在開源。采用了元模型的設(shè)計(jì)思想,支持多種經(jīng)典的訪問控制方案,如基于角色的訪問控制基于屬性的訪問控制等。 PHP-Casbin 是一個(gè)用 PHP 語言打造的輕量級開源訪問控制框架( https://github.com/php-casbin... ),目前在 GitHub 開源。PHP-Casbin 采用了元模型的設(shè)計(jì)思想,支持多種經(jīng)典的訪問...

    shusen 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<