摘要:我下載到了本機(jī)上與打通的文件夾中,再進(jìn)入,執(zhí)行以下命令用代號取代的發(fā)行版本代號,本系統(tǒng)是所以代號為通過執(zhí)行,在文件尾部中添加,以下代碼保存,相關(guān)編輯操作請谷歌。安裝的前提是,已經(jīng)安裝成功。
添加box最近因?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,超好用。
我需要一個(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
安裝nginx1、參考資料:官方文檔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ù)說明
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命令即可知道。連接配置如圖:
安裝Composer1、參考資料:官方文檔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
在安裝時(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
摘要:高性能始終是的首要目標(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è)高性...
摘要:目前還處于版本,相關(guān)文檔也一直在變化,如有疏漏,還請及時(shí)反饋安裝兩種安裝方式,或者下載包使用安裝初始化項(xiàng)目推薦下,如果本機(jī)還沒有安裝,我的做法是是直接下載包假定你的工作目錄是,將下載的放在下命令行進(jìn)入執(zhí)行如下命令,初始化一個(gè)基于的應(yīng)用 yii2目前還處于beta版本,相關(guān)文檔也一直在變化,如有疏漏,還請及時(shí)反饋 Yii2安裝 兩種安裝方式,composer或者下載zip包 ...
摘要:開始使用郵箱配置好了之后,我們就可以開始使用了,首先我們來修改一下我們的導(dǎo)航欄,因?yàn)槲覀兿雽?shí)現(xiàn)的就是我們常常看到的在導(dǎo)航欄的右側(cè)的注冊和登錄按鈕。 原文來自: https://jellybool.com/post/programming-with-yii2-integrating-user-regi... 本來打算昨晚寫的這篇教程,但是忙著約會去了,所以現(xiàn)在補(bǔ)上吧。 上一篇...
摘要:而這些問題目前的最好解決方案就是集成一個(gè)編輯器,鑒于大家這里不是指程序員都是喜歡所見即所得,所以,這里我主要是演示怎么集成所見即所得的富文本編輯器。 原文來自: https://jellybool.com/post/programming-with-yii2-rich-text-input-with-redactor 首先,很慚愧的是,前幾天都出去外面玩了,沒有及時(shí)更新教程,...
摘要:是一個(gè)用語言打造的輕量級開源訪問控制框架,目前在開源。采用了元模型的設(shè)計(jì)思想,支持多種經(jīng)典的訪問控制方案,如基于角色的訪問控制基于屬性的訪問控制等。 PHP-Casbin 是一個(gè)用 PHP 語言打造的輕量級開源訪問控制框架( https://github.com/php-casbin... ),目前在 GitHub 開源。PHP-Casbin 采用了元模型的設(shè)計(jì)思想,支持多種經(jīng)典的訪問...
閱讀 2742·2021-11-17 17:01
閱讀 2122·2021-09-28 09:35
閱讀 3642·2021-09-01 11:04
閱讀 923·2020-06-22 14:41
閱讀 3011·2019-08-30 15:55
閱讀 2630·2019-08-30 15:43
閱讀 2366·2019-08-26 13:54
閱讀 2543·2019-08-26 13:48