• 网站云服务器迁移时遇到的坑


    本文主要讲网站程序在云服务器迁移时遇到的问题,和各家云服务的比较选择。

    之前用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里是这样:

    su a2enmod rewrite (这个命令就是apache2 enable module的意思)

    su service apache2 restart

    或 /etc/init.d/apache2 restart

    这些问题的解决都可以依靠 在 /var/www/html/下面写个

    echo “<?php phpinfo();”>index.php 探针,然后可以看到apache,php都有哪些模块active的, 还可以看到apache2的用户组

    QQ截图20160827154458

    以上是linode的,下面是亚马逊的,太全了。

    QQ截图amazon

    有钱就不折腾,呵呵。

  • 相关阅读:
    点击按钮在表格的某一行下,在添加一行(HTML+JS)
    13
    12 stark组件之pop,按钮,url,页面
    11 stark组件之delete按钮、filter过滤
    解决 AttributeError: 'ForeignKey' object has no attribute 're'
    360面经
    4 django篇
    0- 26个面试经典问题回答
    如何学习??
    LeetCode
  • 原文地址:https://www.cnblogs.com/grkin/p/5812914.html
Copyright © 2020-2023  润新知