安装方式


Yii框架的安装有两种方式:Composer安装、归档文件安装,推荐使用Composer安装方式。

安装前请确认系统已经安装了Composer、PHP
如果还没有安装Composer,请进入穿越门
如果还没有安装PHP,请进入穿越门

版本比较


Yii2.0框架分为基础版和高级版,推荐使用高级版,关于高级版与基础版的区别如下~

特性 基础版 高级版
项目结构
Site controller
用户 登录/退出
表单
数据库链接
命令行操作
资源包
代码测试
Bootstrap
前端 以及 后端 应用
准备使用用户模型
用户注册以及密码重置

安装命令


执行以下命令:
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application

将项目安装在 yii-application 这个目录下面,如果需要,可以更改成为不同的目录名称。

初始化项目


进入到 yii-application 这个目录下面,执行下面命令:
php init
微信截图_20200909091857.png
0:测试环境、1:生产环境。

选择测试环境,进行项目的初始化配置。初始化配置主要做以下两件事情

生成文件

微信截图_20200909092053.png

更改权限

微信截图_20200909092113.png

数据库配置


在MySQL服务中,创建一个新的数据库,我们暂且称新的数据库名称为 yii2advanced,更新项目的配置文件 common/config/main-local.php 中的 components['db'] 配置。示例如下:
微信截图_20200909093453.png
然后执行命令 php yii migrate 进行数据表的创建,结果如下:
1599615771(1).png
进入数据库查看,生成了两张数据表:user、migration。

Nginx配置


进入Nginx配置目录下,使用如下配置:

  1. server {
  2. charset utf-8;
  3. client_max_body_size 128M;
  4. listen 80; ## listen for ipv4
  5. #listen [::]:80 default_server ipv6only=on; ## listen for ipv6
  6. server_name frontend.test;
  7. root /path/to/yii-application/frontend/web/;
  8. index index.php;
  9. access_log /path/to/yii-application/log/frontend-access.log;
  10. error_log /path/to/yii-application/log/frontend-error.log;
  11. location / {
  12. # Redirect everything that isn't a real file to index.php
  13. try_files $uri $uri/ /index.php$is_args$args;
  14. }
  15. # uncomment to avoid processing of calls to non-existing static files by Yii
  16. #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
  17. # try_files $uri =404;
  18. #}
  19. #error_page 404 /404.html;
  20. # deny accessing php files for the /assets directory
  21. location ~ ^/assets/.*\.php$ {
  22. deny all;
  23. }
  24. location ~ \.php$ {
  25. include fastcgi_params;
  26. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  27. fastcgi_pass 127.0.0.1:9000;
  28. #fastcgi_pass unix:/var/run/php5-fpm.sock;
  29. try_files $uri =404;
  30. }
  31. location ~* /\. {
  32. deny all;
  33. }
  34. }
  35. server {
  36. charset utf-8;
  37. client_max_body_size 128M;
  38. listen 80; ## listen for ipv4
  39. #listen [::]:80 default_server ipv6only=on; ## listen for ipv6
  40. server_name backend.test;
  41. root /path/to/yii-application/backend/web/;
  42. index index.php;
  43. access_log /path/to/yii-application/log/backend-access.log;
  44. error_log /path/to/yii-application/log/backend-error.log;
  45. location / {
  46. # Redirect everything that isn't a real file to index.php
  47. try_files $uri $uri/ /index.php$is_args$args;
  48. }
  49. # uncomment to avoid processing of calls to non-existing static files by Yii
  50. #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
  51. # try_files $uri =404;
  52. #}
  53. #error_page 404 /404.html;
  54. # deny accessing php files for the /assets directory
  55. location ~ ^/assets/.*\.php$ {
  56. deny all;
  57. }
  58. location ~ \.php$ {
  59. include fastcgi_params;
  60. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  61. fastcgi_pass 127.0.0.1:9000;
  62. #fastcgi_pass unix:/var/run/php5-fpm.sock;
  63. try_files $uri =404;
  64. }
  65. location ~* /\. {
  66. deny all;
  67. }
  68. }

注意:access_log、error_log、root中的 /path/to 替换成真实目录。
修改本机hosts文件,将域名frontend.test和backend.test绑定到127.0.0.1。

这时使用域名就可访问前台和后台。