
composer config -g repo.packagist composer https://packagist.org
就是在这个镜像主机下
中国镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
源起于,阿里云服务器快到期了,考虑服务器已运行多年,需要更新维护一下,再考虑续费费用问题,决定重新购买,进行项目的整体无差别移植。
看是简单的一件事,还是挺折磨人的。
1.首先要登录服务器吧,这里要注意,购买成功后,服务器没有设置密码,需要到控制台<重置实例密码>修改密码,其实就是设置密码,再进行登录。
2.进行软件安装,这里千万要注意了,要开启相应的端口,在控制台,服务器实例里面的安全组列表
这里的协议类型一般都是TCP,目的就是需要开启的端口段,如只开放8080就写8080/8080 ,授权对象就是指定可访问此端口的IP地址,若任意IP可以访问,则填写0.0.0.0/0
成功踩坑:阿里云没有默认开启80端口
问题是这样的,我最后上线了代码,发现只有SSL网站才可以正常访问。我是这样考虑的:以为是文件权限的问题,SSL比较安全嘛,文件权限高应该也可以正常访问。没有SSL的可能要放低权限,我就这样,就一直在权限上徘徊,一直报不能访问,ping又是可以ping通的,真是奇怪了。后面实在放心不下,再去看一看阿里云是不是默认就没有开启80端口。最后差点吐血,还真是这样的。
3.这些都可以了,上线laravel lumen项目时,可把我愁坏了,可以正常访问,但就是有错。
3.1这里要注意一点,是文件权限问题,linux系统对文件、目录权限敏感。由于lumen 要写运行日志,要把storage目录设置为www 的可写文件。由于laravel 直接访问public ,也要把public 放开www权限。
3.2配置这些你觉得应该是可以了,但告诉你,不是这样的,还早着呢。
你会发现,访问老是出错,什么错能,找不到相关数据库
成功踩坑:记得要加载env文件
踩坑开始,以为是数据库没有正确导入,数据库名称,用户名、密码没有填写正确,我还删除数据库,从新创建了两次,也特别对了.env文件多次。不是的,这些都是徒劳。
踩坑继续,后续突然发现,报错为,始终为找到forge用户,我思考再三,突然恍悟,我压根没有配置此用户呀!那什么情况会导致这样的情况发生呢,应该是默认配置文件,我全局搜一下DB_USERNAME,还真是的,在库文件vendorlaravellumen-frameworkconfigdatabase.php下,有这样的默认配置,forge用户就是在这的。
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'utf8'),
'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
'prefix' => env('DB_PREFIX', ''),
'timezone' => env('DB_TIMEZONE', '+00:00'),
'strict' => env('DB_STRICT_MODE', false),],
百度查一下
咋!这怎么可能,还好我第一次丢过代码,否则只有继续踩坑了。如果你不知道,那你肯定会继续搜索,则出现的情况,好多同胞会热心回复你,安装memcached,咋咋的。这可不得了,问题就多了。
后续我才想到,应该是php配置文件不能正常加载env文件了。去php配置文件看一下,还真禁用了getenv方法,或putenv,放开就OK 了
关系到问题,服务器迁移应该选择再服务器用户不用的时间段,而且使用备用域名进行生产测试。必要时加上代码强制更新手段,发现Chrome浏览器缓存太严重,切换DNS后,浏览器反应总是迟钝,强制性刷新也不起作用。
可能关系到的语句
一台服务器进入另外一台服务器ssh root@ip地址
数据库备份 mysqldump -hlocalhost -uroot -p 需备份的数据库 > /... 备份位置
远程拷贝 scp -r root@IP地址:/远程地址 /现地址
编辑文件 vi .env 保存退出 :wq 不保存退出 :q! 未修改直接退出 :q
查找文件 find / -name 查找内容 /代表从跟目录开始查找
重启服务器 reboot
重启Apache service httpd start 或 stop | restart
查找进程 ps -ef | grep 进程名 杀死进程 kill -9 某进程
