将远程 Laravel 应用配置为可从浏览器访问
Configure remote Laravel app to be accessible from browser
我参与的所有 laravel 个项目都是 installed/configured 由其他人发起的。很久以前,我设法使用 WAMP 在 Windows 机器上安装了一个 Laravel 项目,据我所知它更容易。
我最近从 digitalocean.com 获得了一个安装了 Centos 7 的干净 Droplet。我认为液滴类似于 VPS。您有 IP 和 SSH 访问权限
经过一番头痛之后,我设法使用 composer 成功安装了 laravel。我还安装了 mysql 和 apache(httpd)
现在我有
/var/www/laravel
文件夹,安装最新的Laravel(5.3)
我进去 /var/www/ 并打电话给
composer create-project laravel/laravel mypro
现在,我在
有一个新应用程序的 laravel 应用程序架构
/var/www/mypro
我想从浏览器访问它以便开始处理它,但我不知道我需要做什么。有很多关于如何做到这一点的教程,但它们让我很困惑。
接下来我必须做什么才能看到我正在处理的结果?
如果,在浏览器中,我现在通过 IP 访问 droplet,例如
我明白了
Not Found The requested URL / was not found on this server.
如果我将我的应用名称添加到 URL,如
,则相同
我相信我必须配置 httpd ?或者将项目的文件夹移动到其他地方?
我尝试将我的项目文件夹移动到 /var/www/html 文件夹中,所以
/var/www/html/mypro
现在,当我尝试访问 url 时,我收到一个空页面(查看浏览器页面的源代码 returns 也是一个空页面)
我什至试过
因为在我的项目文件夹的根目录中有一个 server.php 文件...相同的结果
我什至在名为 mypro.conf 的 /etc/httpd/conf.d/ 文件夹中添加了一个 conf,我在其中添加了这些行:
<VirtualHost *:80>
ServerName mypro
DocumentRoot "/var/www/html/mypro/public"
<Directory /var/www/html/mypro/public>
AllowOverride all
</Directory>
</VirtualHost>
没有新的事情发生
每次更改内容时我都会 "service httpd restart"。
我什至尝试过
php artisan serve --host xxx.xxx.xxx.xxx --port 8000
并尝试了 url http://xxx.xxx.xxx.xxx:8000
现在我从浏览器得到 "Unable to connect" 页面,所以我停止了 "serve"
为了能够最终开始工作,我必须做什么?
以下是我在 Ubutnu 16.04 上的操作方式(可以在 Centos 上进行一些更改)。
更新您的软件包存储库。
sudo apt update
更新包。
sudo apt dist-upgrade
安装PHP
apt install php
安装apache2
apt install apache2
安装PHP插件
apt install php-mbstring php-pdo php-tokenizer php-xml php-mcrypt php-gd libapache2-mod-php php-curl php-mysql
启用 mcrypt
phpenmod mcrypt
a2enmod rewrite
重新启动 Apache 服务器
service apache2 restart
安装作曲家
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
安装Git
apt install git
安装mysql-server
apt install mysql-server
安装 Phpmyadmin(可选)
apt install phpmyadmin
安装 zip 和解压
apt install zip unzip
现在为您的网站创建 apache 虚拟主机配置。
cd /etc/apache2/sites-available
touch pqr.xyz.com.conf
的基本内容是pqr.xyz.com.conf
#content of pqr.xyz.com.conf
<VirtualHost *:80>
ServerName pqr.xyz.com
ServerAdmin webmaster@xyz.com
DocumentRoot /var/www/html/pqr.xyz.com/public
<Directory /var/www/html/pqr.xyz.com>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在转到/var/www/html
cd /var/www/html/
使用您的网站名称创建一个目录
mkdir pqr.xyz.com
现在添加一个用户,因为在创建 laravel 项目时以 root 身份使用 composer 不是一个好主意。
adduser admin --ingroup admin
现在让管理员成为该目录的所有者
chown -R admin pqr.xyz.com
现在以管理员身份登录
转到/var/www/html
cd /var/www/html
使用作曲家
安装 Laravel
composer create-project laravel/laravel pqr.xyz.com
cd /var/www/html/pqr.xyz.com
现在您的存储和 bootstrap 目录应该对 apache 2 服务器具有写入权限,因此让 apache 成为这两个目录的所有者。
chown -R www-data storage
chown -R www-data bootstrap
现在以 root 身份登录
激活pqr.xyz.com.conf
a2dissite 000-default.conf
service apache2 reload
a2ensite shopperstock.eveningx.com.conf
service apache2 reload
service apache2 restart
这可能不是处理任何 larave 项目的最佳方式,所以请随时发表评论或建议修改。
我参与的所有 laravel 个项目都是 installed/configured 由其他人发起的。很久以前,我设法使用 WAMP 在 Windows 机器上安装了一个 Laravel 项目,据我所知它更容易。 我最近从 digitalocean.com 获得了一个安装了 Centos 7 的干净 Droplet。我认为液滴类似于 VPS。您有 IP 和 SSH 访问权限 经过一番头痛之后,我设法使用 composer 成功安装了 laravel。我还安装了 mysql 和 apache(httpd) 现在我有
/var/www/laravel
文件夹,安装最新的Laravel(5.3)
我进去 /var/www/ 并打电话给
composer create-project laravel/laravel mypro
现在,我在
有一个新应用程序的 laravel 应用程序架构/var/www/mypro
我想从浏览器访问它以便开始处理它,但我不知道我需要做什么。有很多关于如何做到这一点的教程,但它们让我很困惑。
接下来我必须做什么才能看到我正在处理的结果? 如果,在浏览器中,我现在通过 IP 访问 droplet,例如
我明白了
Not Found The requested URL / was not found on this server.
如果我将我的应用名称添加到 URL,如
,则相同我相信我必须配置 httpd ?或者将项目的文件夹移动到其他地方?
我尝试将我的项目文件夹移动到 /var/www/html 文件夹中,所以
/var/www/html/mypro
现在,当我尝试访问 url 时,我收到一个空页面(查看浏览器页面的源代码 returns 也是一个空页面) 我什至试过
因为在我的项目文件夹的根目录中有一个 server.php 文件...相同的结果
我什至在名为 mypro.conf 的 /etc/httpd/conf.d/ 文件夹中添加了一个 conf,我在其中添加了这些行:
<VirtualHost *:80>
ServerName mypro
DocumentRoot "/var/www/html/mypro/public"
<Directory /var/www/html/mypro/public>
AllowOverride all
</Directory>
</VirtualHost>
没有新的事情发生 每次更改内容时我都会 "service httpd restart"。
我什至尝试过
php artisan serve --host xxx.xxx.xxx.xxx --port 8000
并尝试了 url http://xxx.xxx.xxx.xxx:8000
现在我从浏览器得到 "Unable to connect" 页面,所以我停止了 "serve"
为了能够最终开始工作,我必须做什么?
以下是我在 Ubutnu 16.04 上的操作方式(可以在 Centos 上进行一些更改)。
更新您的软件包存储库。
sudo apt update
更新包。
sudo apt dist-upgrade
安装PHP
apt install php
安装apache2
apt install apache2
安装PHP插件
apt install php-mbstring php-pdo php-tokenizer php-xml php-mcrypt php-gd libapache2-mod-php php-curl php-mysql
启用 mcrypt
phpenmod mcrypt
a2enmod rewrite
重新启动 Apache 服务器
service apache2 restart
安装作曲家
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
安装Git
apt install git
安装mysql-server
apt install mysql-server
安装 Phpmyadmin(可选)
apt install phpmyadmin
安装 zip 和解压
apt install zip unzip
现在为您的网站创建 apache 虚拟主机配置。
cd /etc/apache2/sites-available
touch pqr.xyz.com.conf
的基本内容是pqr.xyz.com.conf
#content of pqr.xyz.com.conf
<VirtualHost *:80>
ServerName pqr.xyz.com
ServerAdmin webmaster@xyz.com
DocumentRoot /var/www/html/pqr.xyz.com/public
<Directory /var/www/html/pqr.xyz.com>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
现在转到/var/www/html
cd /var/www/html/
使用您的网站名称创建一个目录
mkdir pqr.xyz.com
现在添加一个用户,因为在创建 laravel 项目时以 root 身份使用 composer 不是一个好主意。
adduser admin --ingroup admin
现在让管理员成为该目录的所有者
chown -R admin pqr.xyz.com
现在以管理员身份登录
转到/var/www/html
cd /var/www/html
使用作曲家
安装 Laravelcomposer create-project laravel/laravel pqr.xyz.com
cd /var/www/html/pqr.xyz.com
现在您的存储和 bootstrap 目录应该对 apache 2 服务器具有写入权限,因此让 apache 成为这两个目录的所有者。
chown -R www-data storage
chown -R www-data bootstrap
现在以 root 身份登录
激活pqr.xyz.com.conf
a2dissite 000-default.conf
service apache2 reload
a2ensite shopperstock.eveningx.com.conf
service apache2 reload
service apache2 restart
这可能不是处理任何 larave 项目的最佳方式,所以请随时发表评论或建议修改。