阿里云ecs部署lnmp和进行laravel项目部署

LNMP环境介绍


LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

安装nginx服务器

注:
我的ecs上选择的是Ubuntu16,64位的操作系统


  1. 更新包列表
sudo apt-get update
  1. 安装nginx
sudo apt-get install nginx
  1. 启动nginx服务
    sudo service nginx start
    在浏览器输入公网ip,可以看到nginx的欢迎界面


安装mysql


  1. 安装mysql服务和客户端
    sudo apt-get install mysql-server mysql-client
  2. 安装好后运行
    mysql -u root -p
    出现如下界面,成功


安装PHP


  1. 安装php
 sudo apt install php7.0 php7.0-fpm php7.0-mcrypt
  1. 配置php
    vim /etc/php/7.0/fpm/php.ini
    通过输入/cgi.fix_pathinfo=1来快速查找cgi.fix_pathinfo选项并将它前面的“;”去掉,值改为0


  2. 启用php7.0-mcrypt
    sudo phpenmod mcrypt
  3. 重启php7.0-fpm
    sudo service php7.0-fpm restart

安装composer


  1. composer介绍
    简单来说,Composer 是一个新的安装包管理工具,服务于 PHP 生态系统。它实际上包含了两个部分:ComposerPackagist
  2. 安装composer
方法一
  • 依次执行以下三条命令
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"     #下载安装脚本 - composer-setup.php - 到当前目录
php composer-setup.php      #执行安装过程
php -r "unlink('composer-setup.php');"      #删除安装脚本
  • 全局安装
    全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。
方法二
  • 去以下网址下载最新版composer.phar ,并上传到服务器
  • 添加执行权限
    chmod a+x composer.phar
  • 全局安装
    sudo mv composer.phar /usr/local/bin/composer
  1. 查看是否安装与设置成功
    composer -version

    注:
    这里报了一个警告:Do not run Composer as root/super user! See https://getcomposer.org/root for details
    意思是叫你不要用root用户执行composer相关命令。这是出于对安全的考虑。
    解决:
    切换到非root用户执行composer命令。
  2. 配置 composer 使用国内源,提升速度
    composer config -g repo.packagist composer https://packagist.phpcomposer.com

在阿里云ECS上部署Laravel项目


  1. 配置nginx服务器
    首先,对需要修改的nginx配置文件进行备份
    cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
    然后修改nginx的配置文件
    sudo vim /etc/nginx/sites-available/default
    要修改的是server的部分
    server {
    listen 80 default_server;
    listen [::]:80 default_server;

     root /var/www/html;
    
     index index.html index.htm index.nginx-debian.html;
    
     server_name _;
    
     location / {
             try_files $uri $uri/ =404;
     }}
    

修改以下部分:

  • root部分的修改
    root /var/www/blog/public; # 这里的blog是你自己的laravel项目名称
    将nginx服务器的根目录指向blog的public文件夹下,Laravel项目的代码将会放在/var/www/blog目录下

  • index部分的修改
    index index.php index.html index.htm index.nginx-debian.html;
    注意:将index.php排在最前面

  • server_name部分的修改
    server_name server_domain_or_IP;
    其中,server_domain_or_IP是公网的ip

  • location部分的修改

   location / {
           try_files $uri $uri/ /index.php?$query_string;
   }
  • 最后
    我们还需要配置一下Nginx,让其执行PHP文件。同样是在这个文件里,在location下方添加下面的配置:
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
       }
  • 配置完之后重启Nginx,使上面的配置项生效。
    sudo service nginx restart
  1. Laravel项目迁移和创建
    laravel项目创建
  • 在/var/www目录下,创建laravel 5.1项目, 若不指定版本,默认安装最新版
    composer create-project laravel/laravel --prefer-dist blog 5.1
    其中 blog是laravel项目的名称
    命令执行完后,就会在/var/www下执行生成一个blog文件夹。然后可以进行相关开发。

laravel项目迁移

  • 将本地的laravel项目文件一起通过filezill等工具上传到/var/www目录下。这里的项目名称应该和nginx配置文件的root部分的修改一致。
  • 配置云服务器上的mysql数据和本地laravel项目数据一致。重建相关表和数据填写。
    如果执行数据库迁移的时候报以下错误: root@'localhost' 。。。
    多半是root权限的问题
    可以试试以下方法:
    方法一
    mysql中执行如下命令:
    grant all on . to root@'localhost' identified by password '' with grant option;
    方法二
  1. laravel项目的权限更改
sudo chmod -R 777 /var/www/laravel项目名称/storage   #修改storage文件夹权限
sudo chown -R :项目所有者 /var/www/laravel    #修改项目所有者权限,根据需要修改
  1. 完了 就可以在浏览器中输入网址,既可以看到相应页面。

参考:

开启 Laravel 之旅以及环境配置
在阿里云ECS上搭建LEMP环境
nginx+MySQL+Laravel+PHP7+Redis+Node.js
从零开始部署一个 Laravel 站点
Packagist / Composer中国全量镜像

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容