Laravel 在 AWS EC2 上开发
Laravel Develoyment on AWS EC2
我正在尝试在 AWS EC2 云服务器上部署 laravel 5.1 项目,但 laravel 网站路由 URLs 有问题。
我运行以下命令配置EC2ubuntu14.04 LTS服务器。
sudo apt-get install apache2
sudo apt-get install mysql-server php5-mysql
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install php5 php-pear
sudo apt-get install curl php5-curl php5-cli git
sudo a2enmod rewrite
sudo php5enmod mcrypt
sudo service apache2 restart
当我尝试访问任何路由 URLs 但我的主页加载正确时出现以下错误。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /register was not found on this server.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at xxxx.ap-southeast-2.compute.amazonaws.com Port 80
</address>
</body></html>
我已将 apache 路由 URL 更改为 laravel 项目的 public 文件夹,但没有成功。我也尝试启用以下虚拟主机文件,但仍然出现相同的错误。
<VirtualHost *:80>
ServerAdmin webmaster@mynewhost.com
DocumentRoot /var/www/html/mynewhost/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我运行以下命令g运行t权限存储文件夹
chmod -R 777 storage
我是否需要获得 运行 对我的 laravel 项目文件夹的任何许可?
感谢任何帮助。
这是我在 Ubuntu 14.04
上对 Laravel 5.1 的配置
您可能需要启用重写引擎
sudo a2enmod rewrite
如果这不起作用,您可以将虚拟主机配置更改为如下内容
<VirtualHost *:80>
ServerName laravel.example.com
DocumentRoot /var/www/html/mynewhost/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/mynewhost/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
另外将 ServerName 添加到 /etc/hosts
<your-server-ip-address> laravel.example.com
我正在尝试在 AWS EC2 云服务器上部署 laravel 5.1 项目,但 laravel 网站路由 URLs 有问题。
我运行以下命令配置EC2ubuntu14.04 LTS服务器。
sudo apt-get install apache2
sudo apt-get install mysql-server php5-mysql
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
sudo apt-get install php5 php-pear
sudo apt-get install curl php5-curl php5-cli git
sudo a2enmod rewrite
sudo php5enmod mcrypt
sudo service apache2 restart
当我尝试访问任何路由 URLs 但我的主页加载正确时出现以下错误。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /register was not found on this server.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at xxxx.ap-southeast-2.compute.amazonaws.com Port 80
</address>
</body></html>
我已将 apache 路由 URL 更改为 laravel 项目的 public 文件夹,但没有成功。我也尝试启用以下虚拟主机文件,但仍然出现相同的错误。
<VirtualHost *:80>
ServerAdmin webmaster@mynewhost.com
DocumentRoot /var/www/html/mynewhost/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我运行以下命令g运行t权限存储文件夹
chmod -R 777 storage
我是否需要获得 运行 对我的 laravel 项目文件夹的任何许可?
感谢任何帮助。
这是我在 Ubuntu 14.04
上对 Laravel 5.1 的配置您可能需要启用重写引擎
sudo a2enmod rewrite
如果这不起作用,您可以将虚拟主机配置更改为如下内容
<VirtualHost *:80>
ServerName laravel.example.com
DocumentRoot /var/www/html/mynewhost/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/mynewhost/>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
另外将 ServerName 添加到 /etc/hosts
<your-server-ip-address> laravel.example.com