naffiq / rocket-tools
RocketFirm 开发工具
Requires
- padraic/phar-updater: ^1.0
- symfony/console: ^3.2
Requires (Dev)
- phpunit/phpunit: ^6.1
README
这个简单的PHP脚本可以帮助您为项目生成和管理nginx配置。
安装
通过composer
通过运行以下命令全局安装此项目
$ composer global require naffiq/rocket-tools
确保您的composer的bin目录链接到您的PATH环境变量。
下载PHAR可执行文件
您可以在发布页面上获取此实用工具的最新版本。只需获取rocket-tools.phar并将其放入您的/usr/local/bin目录(如果您使用的是macOS/Linux)或任何在您的PATH中列出的文件夹(如果您使用的是Windows)。
用法
通过运行以下命令来检查版本
$ rocket-tools --version
生成nginx配置
您可以通过运行以下命令在您的Yii2项目中创建nginx配置(目前为基本配置)
$ rocket-tools nginx:generate <server-name> [<config-name>] [<document-root>] [<sites-available>] [<port>] [<fast-cgi-pass>]
此命令接受以下参数
server-name新创建应用的服务器名(server_name)config-name配置文件的文件名。如果没有设置,则使用第一个server-namedocument-root项目的文档根。如果没有设置,则从运行目录中获取。 默认: "CURRENT/RUNNING/DIRECTORY"sites-availablesites-available文件夹的路径 默认: "/etc/nginx/sites-available"port监听端口。 默认: 80fast-cgi-passFast CGI传递。 默认: "unix:/var/run/php7.1-fpm.sock"
您可以通过使用[config:update](#Configuring%20RocketTools)命令配置rocket-tools来覆盖默认值。
链接/解除链接nginx sites available
运行此命令将配置从sites-available链接到sites-enabled文件夹
$ rocket-tools nginx:link <site-name> [<sites-available>] [<sites-enabled>]
参数
site-name配置文件名sites-availableSites available目录(不带.conf) 默认: "/etc/nginx/sites-available"sites-enabledSites enabled目录 默认: "/etc/nginx/sites-enabled"
要解除链接配置,请运行以下命令
$ rocket-tools nginx:unlink <site-name> [<sites-enabled>]
参数
site-name配置文件名sites-enabledSites enabled目录 默认: "/etc/nginx/sites-enabled"
您可以通过使用[config:update](#Configuring%20RocketTools)命令配置rocket-tools来覆盖默认值。
配置RocketTools
要覆盖默认配置,请运行以下命令
$ config:update <config-name> <config-value>
$ config:set <config-name> <config-value>
参数
config-name配置键config-value配置值
因此,为了覆盖nginx:generate配置,只需将其参数(例如sites-available)添加到其中,并使用它作为配置键。唯一的例外是fast-cgi-pass,它与php-fpm相关
示例
$ config:update nginx-sites-available /usr/local/etc/nginx/sites-available
还有一个命令可以查看您的当前配置
$ config:get [<config-name>]
参数
config-name配置键。如果没有设置,则显示所有配置值。
配置文件
所有配置文件都存储在$HOME/.rocket-tools/目录中。如果您想更改它,请设置ROCKET_TOOLS_HOME环境变量为所需的路径。
更新RocketTools
如果您正在使用composer,请运行以下命令
$ composer global update naffiq/rocket-tools
与composer.phar一样,如果您从发布页面手动下载了它,rocket-tools.phar文件包含self-update命令。
内部结构
TODO
- 添加nginx配置的默认模板(Yii2 advanced,Laravel,Symfony)
- nginx配置的自定义模板
- Apache2配置生成器
- 自动化MySQL数据库/用户创建
- 自动化
.env文件生成器 - hosts文件编辑器
- 所有步骤一键完成
许可:MIT
用♥制作