网站云服务器迁移时遇到的坑
2016-08-27 13:54
260 查看
本文主要讲网站程序在云服务器迁移时遇到的问题,和各家云服务的比较选择。
之前用laravel 5.1开发了一个社区交流的程序,放在亚马逊的EC2实例上,是一个AIM 亚马逊自家构建的linux服务器,不能不说亚马逊的服务是一流的,基本没有多少坑给你踩,但是自从发现 linode, DigitalOcean, Rackspace之后,比较了一下性价比,就有了迁移的想法,毕竟便宜了一半。 linode.com比较有历史,而且套餐是2G内存,24G SSD硬盘,10美金一个月怎么样都比亚马逊要来得实惠,至于Digital Ocean的最便宜的选择是 5美金一个月,但是只有512内存,走一点程序就爆了,所以还是选择linode,速度和亚马逊比也不算慢。 至于其他试了一下Nitrous.com,都大同小异。
但各家云服务商最流行的是Ubuntu Linux 14.X 和16.X, Ubuntu本身一般自带的PHP版本是7.0,Apache版本是2.4.9
我选择的是Ubuntu Linux 14.X
要安装以下软件:
PHP5.5 –PHP5.6
Apache2.4.16, 但是这个和ubuntu不配,它家的安装包没有这个package,只能装Apache2.4.9
Composer 1.0-dev (2015-10-13)
Laravel5.1.X
---------------------------------------------------------------------
先说PHP的配置,要使用Laravel的话,就要具备某些模块,这在https://laravel.com/docs/5.3这里说的明白,不要怀疑,没有一定会报错。
PHP >= 5.6.4 (我装的Laravel5.1,所以还可以用PHP5.5.9 )
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
Mcrypt PHP Extension 这个是我加的
PDO就是连接数据库的,我用的sqlite,所以还要装
这里要把目录和目录下的文件改成apache2的组,可以这样写:
以上是linode的,下面是亚马逊的,太全了。
有钱就不折腾,呵呵。
之前用laravel 5.1开发了一个社区交流的程序,放在亚马逊的EC2实例上,是一个AIM 亚马逊自家构建的linux服务器,不能不说亚马逊的服务是一流的,基本没有多少坑给你踩,但是自从发现 linode, DigitalOcean, Rackspace之后,比较了一下性价比,就有了迁移的想法,毕竟便宜了一半。 linode.com比较有历史,而且套餐是2G内存,24G SSD硬盘,10美金一个月怎么样都比亚马逊要来得实惠,至于Digital Ocean的最便宜的选择是 5美金一个月,但是只有512内存,走一点程序就爆了,所以还是选择linode,速度和亚马逊比也不算慢。 至于其他试了一下Nitrous.com,都大同小异。
但各家云服务商最流行的是Ubuntu Linux 14.X 和16.X, Ubuntu本身一般自带的PHP版本是7.0,Apache版本是2.4.9
我选择的是Ubuntu Linux 14.X
要安装以下软件:
PHP5.5 –PHP5.6
Apache2.4.16, 但是这个和ubuntu不配,它家的安装包没有这个package,只能装Apache2.4.9
Composer 1.0-dev (2015-10-13)
Laravel5.1.X
---------------------------------------------------------------------
先说PHP的配置,要使用Laravel的话,就要具备某些模块,这在https://laravel.com/docs/5.3这里说的明白,不要怀疑,没有一定会报错。
PHP >= 5.6.4 (我装的Laravel5.1,所以还可以用PHP5.5.9 )
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
Mcrypt PHP Extension 这个是我加的
PDO就是连接数据库的,我用的sqlite,所以还要装
sudo apt-get install php5-sqlite,
用mysql的同学要装 sudo apt-get install php5-mysql,
git clone 程序地址 下来后,改目录名字为你在apache配置的路径名, 例如 huiqiao,这里要把目录和目录下的文件改成apache2的组,可以这样写:
sudo chown –R www-data:www-data huiqiao
还要给两个二级子目录 775的权限,可以这样写: sudo chmod –R 775 huiqiao/storage huiqiao/bootstrap
到了这里刷浏览器,还是有问题,不出现页面,于是: sudo rm composer.lock
sudo composer update
composer dump-autoload
访问网站出现了首页,但是点击分页面,发现路径不起作用,这里浪费了很多时间, 因为我不知道rewrite的作用, 以为数据库坏了,重新migrate:refresh了数据库,不行又换mysql试了一次,还是不行。最后发现是mod_rewrite模块没有enabled,这个是apache2的问题,不是php的问题,一直没有找到重点。 因为Laravel的public目录里有个.htaccess文件,作用是路径重写。 在不同的linux里面启用的方法可能不一样在debian和ubuntu里是这样:sudo composer update
composer dump-autoload
su a2enmod rewrite (这个命令就是apache2 enable module的意思)
su service apache2 restart
或 /etc/init.d/apache2 restart
这些问题的解决都可以依靠 在 /var/www/html/下面写个su service apache2 restart
或 /etc/init.d/apache2 restart
echo “<?php phpinfo();”>index.php 探针,然后可以看到apache,php都有哪些模块active的, 还可以看到apache2的用户组
以上是linode的,下面是亚马逊的,太全了。
有钱就不折腾,呵呵。
相关文章推荐
- hexo-迁移到linux所遇到的问题
- 关于活动目录林间迁移所遇到问题及解决方法
- svn_auth系统由windows迁移到linux下遇到的问题
- 把应用层从WebSphere5迁移到WebSphere6.1时遇到的一个问题
- hive迁移hadoop namenode时遇到的问题
- 迁移到 Centos 7 遇到的一些常见问题
- Confluence迁移中遇到的问题(Data too long for column 'STRINGVAL')及解决方法
- Android Studio 3.0项目迁移所遇到的坑
- 迁移至Android3.0遇到一些问题
- 项目迁移腾讯云服务器,遇到的SMTP,25端口发邮件失败问题
- MyEclipse工程迁移到Eclipse遇到的问题
- 阿里云短信服务迁移时遇到的问题
- 从ASPNET1.1迁移到了ASPNET2.0遇到ORA-01000: 超出打开游标的最大数
- 数据库从sql 2000迁移到SQL 2005遇到的问题
- 迁移32位下的旧代码到64位sever遇到过的两个很诡异的问题
- 数据迁移中遇到的问题
- C#web引用迁移到遇到问题
- discuz 从win7迁移到centos6.5(lnmp环境),遇到的问题
- 2014.1.16实施数据迁移时遇到的问题(ORA-00214和ORA-39700问题解决)
- 迁移项目中mysq中遇到的问题