如何在共享主机上部署 Yii2 Advanced 应用程序
How to deploy Yii2 Advanced application on a shared Hosting
带有供应商文件夹的 Yii2 高级应用程序超过 ~100 MB,因此很难使用 FTP 软件上传。
- 在共享服务器中上传我的应用程序后,我需要更新作曲家。
- 无法从 git
克隆
在共享主机上部署 yii2 高级应用程序的步骤
(注意:您需要通过 ssh 访问服务器,如果没有:请联系您的托管服务提供商)
正在生成 SSH 密钥对:打开终端并输入以下内容
ssh-keygen -t dsa
或
ssh-keygen -t rsa
输出将类似于
Generating public/private dsa key pair. Enter file in which to save
the key (~/.ssh/id_dsa): Press [Enter] key Enter passphrase (empty
for no passphrase): Press [Enter] key Enter same passphrase again:
Press [Enter] key Your identification has been saved in ~/.ssh/id_dsa
Your public key has been saved in ~/.ssh/id_dsa.pub The key
fingerprint is:
或
Generating public/private dsa key pair. Enter file in which to save
the key (~/.ssh/id_dsa): Press [Enter] key Enter passphrase (empty
for no passphrase): Press [Enter] key Enter same passphrase again:
Press [Enter] key Your identification has been saved in ~/.ssh/id_dsa
Your public key has been saved in ~/.ssh/id_dsa.pub The key
fingerprint is:
- 在 /home// 下为远程主机上的托管包创建一个 .ssh 目录(注意前面的点)。然后,您必须在这个 .ssh 目录
中创建一个名为 authorized_keys 的文件
- 将本地~/.ssh/id_dsa.pub 或~/.ssh/id_rsa.pub 文件的内容复制到authorized_keys文件
要连接你的服务器,打开终端并输入以下内容
ssh -l 用户远程服务器
将 user 替换为您的 cpanel 用户名,将 remote-server 替换为您的远程服务器主机名。输入您的 cpanel 密码,终端将使用 ssh 登录您的远程服务器。
从 git 存储库克隆您的应用程序
git clone https://username@gitlab.com/username/repository.git public_html
转到public_html执行以下操作
curl -sS https://getcomposer.org/installer | php
php composer.phar 全局要求 "fxp/composer-asset-plugin:1.0.0"
php 初始化
将环境设置为生产环境(推荐)
phpcomposer.phar更新
这将下载所有依赖项并设置您的应用程序,不要忘记在主配置文件中配置数据库。
我最近遇到了类似的问题,没有 ssh 访问权限。然而,我注意到大部分大小和文件是由我的项目和供应商的 .git
文件夹引起的。我的解决方案是将我的 FTP 客户端设置为忽略所有以 .git
.
开头的文件和文件夹
例如,在 Filezilla 上,这可以通过转到“查看”->“文件名过滤器”并编辑 CVS and SVN
过滤器以忽略“.git*”来完成。
带有供应商文件夹的 Yii2 高级应用程序超过 ~100 MB,因此很难使用 FTP 软件上传。
- 在共享服务器中上传我的应用程序后,我需要更新作曲家。
- 无法从 git 克隆
在共享主机上部署 yii2 高级应用程序的步骤 (注意:您需要通过 ssh 访问服务器,如果没有:请联系您的托管服务提供商)
正在生成 SSH 密钥对:打开终端并输入以下内容
ssh-keygen -t dsa
或
ssh-keygen -t rsa
输出将类似于
Generating public/private dsa key pair. Enter file in which to save the key (~/.ssh/id_dsa): Press [Enter] key Enter passphrase (empty for no passphrase): Press [Enter] key Enter same passphrase again: Press [Enter] key Your identification has been saved in ~/.ssh/id_dsa Your public key has been saved in ~/.ssh/id_dsa.pub The key fingerprint is:
或
Generating public/private dsa key pair. Enter file in which to save the key (~/.ssh/id_dsa): Press [Enter] key Enter passphrase (empty for no passphrase): Press [Enter] key Enter same passphrase again: Press [Enter] key Your identification has been saved in ~/.ssh/id_dsa Your public key has been saved in ~/.ssh/id_dsa.pub The key fingerprint is:
- 在 /home// 下为远程主机上的托管包创建一个 .ssh 目录(注意前面的点)。然后,您必须在这个 .ssh 目录 中创建一个名为 authorized_keys 的文件
- 将本地~/.ssh/id_dsa.pub 或~/.ssh/id_rsa.pub 文件的内容复制到authorized_keys文件
要连接你的服务器,打开终端并输入以下内容
ssh -l 用户远程服务器
将 user 替换为您的 cpanel 用户名,将 remote-server 替换为您的远程服务器主机名。输入您的 cpanel 密码,终端将使用 ssh 登录您的远程服务器。
从 git 存储库克隆您的应用程序
git clone https://username@gitlab.com/username/repository.git public_html
转到public_html执行以下操作
curl -sS https://getcomposer.org/installer | php
php composer.phar 全局要求 "fxp/composer-asset-plugin:1.0.0"
php 初始化
将环境设置为生产环境(推荐)
phpcomposer.phar更新
这将下载所有依赖项并设置您的应用程序,不要忘记在主配置文件中配置数据库。
我最近遇到了类似的问题,没有 ssh 访问权限。然而,我注意到大部分大小和文件是由我的项目和供应商的 .git
文件夹引起的。我的解决方案是将我的 FTP 客户端设置为忽略所有以 .git
.
例如,在 Filezilla 上,这可以通过转到“查看”->“文件名过滤器”并编辑 CVS and SVN
过滤器以忽略“.git*”来完成。