阿里云上配置Laravel上线环境(详细)

本地laravel项目部署上线

操作环境

服务器:阿里云ECS公用镜像 ubuntu14.04 本地:win10


准备

首先用ssh连接到服务器,我用的是Git Bash,阿里云在初始化服务器时可以选择密钥,配置好后启动服务器,在win10下打开Git Bash,命令ssh [email protected]你的公网ip

配置环境前下好language-pack-en-base这个包,解决不同语言之间可能发生的冲突,-y参数的意思是直接安装无需确认。

sudo apt-get update
sudo apt-get install -y language-pack-en-base

安装完成后运行locale-gen en_US.UTF-8

再在服务器上安装Git sudo apt-get install git


配置环境

安装php7.1

ppa方式安装php7.1:sudo apt-get install software-properties-common

安装成功后运行sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php添加php7的ppa

完成后再运行sudo apt-get update更新安装包把刚刚的添加包拉取下来,运行apt-cache search php7.1检验是否安装成功,成功了就能安装php7.1了。

php7.1安装:sudo apt-get -y install php7.1

成功后运行php -v查看版本,应显示类似信息

PHP 7.1.0beta2 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.1.0-dev, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.1.0beta2, Copyright (c) 1999-2016, by Zend Technologies

安装php7.1的各个模块

sudo apt-get -y install php7.1-mysql
sudo apt-get install php7.1-fpm
apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring

安装mysql

sudo apt-get install mysql-server mysql-client过程中输入密码,确定后安装完成。

mysql -u root -p再输入密码测试,能成功登陆即安装完成。exit退出mysql

因为上线的应用为laravel 5.5版本开发的,为了之后的兼容性问题,ubuntu14.04直接安装的mysql不是较新版本,因此要升级一下mysql

cd ~
wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb

解压安装包后会弹出框,选择好mysql 5.7版本后选择ok 然后继续

然后,更新包索引:sudo apt-get update

然后,安装MySQL-server:sudo apt-get install mysql-server

然后,升级全部的Mysql数据库:sudo mysql_upgrade -u root -p

最后,重启mysql server:sudo service mysql restart

登陆一下mysql看看是否已经升级完毕,成功了进入下一步


安装Nginx

这里有点迷糊,阿里云的纯净镜像应该是不带Apache2的,但是安装完php7.1后此时检查已经安装了Apache2在服务器上,真是巨坑。。在安装Nginx之前,把Apache卸载掉,不然之后萌新会遇到各种奇怪的错误。

sudo service apache2 stop
update-rc.d -f apache2 remove
sudo apt-get remove apache2

删除完了之后更新一下包列表sudo apt-get update

然后安装Nginx sudo apt-get install nginx

安装完成后可以输入公网地址访问,成功的话可以看到Nginx的自带欢迎页面


配置PHP

sudo vim /etc/php/7.1/fpm/php.ini 命令行模式下输入/进入查找模式,搜索fix_pathinfocgi.fix_pathinfo=1改为cgi.fix_pathinfo=0


配置Nginx

命令sudo vim /etc/nginx/sites-available/default

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/sample/public;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name 你的公网IP(有域名直接填域名);

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ /index.php?$query_string;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
        # deny access to .htaccess files, if Apache‘s document root
        # concurs with nginx‘s one
        #
        #location ~ /\.ht {
        #       deny all;
        #}
}

root 后填的是laravel项目的public路径,根据项目名称确定这里的信息


安装Composer

cd ~
curl -sS https://getcomposer.org/installer | php

再使用命令全局可用composer sudo mv composer.phar /usr/local/bin/composer

因为国内墙的原因,换一下镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com


创建新站点

  • 移步/var/www目录下.使用git clone整个项目,然后/var/www目录下就有你的项目了

    后面以sample项目为例子操作:git clone https://balabala/sample.git

  • cd sample进入/var/www/sample目录. cp .env.example .env
  • 用vim更改一下配置文件vim .env

    运行mysql,创建一个新的数据库 CREATE DATABASE sample CHARACTER SET =utf8

    ```

    APP_NAME=sample

    APP_ENV=local

    APP_KEY=base64:c656DOWHg7B9THMemhSV67+aRHOeOBypwNZrybaoGzs=

    APP_DEBUG=true

    APP_LOG_LEVEL=debug

    APP_URL=http://localhost

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=sample

DB_USERNAME=root

DB_PASSWORD=数据库密码

BROADCAST_DRIVER=log

CACHE_DRIVER=file

SESSION_DRIVER=file

SESSION_LIFETIME=120

QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1

REDIS_PASSWORD=null

REDIS_PORT=6379

MAIL_DRIVER=log

MAIL_HOST=smtp.mailtrap.io

MAIL_PORT=2525

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ENCRYPTION=null

PUSHER_APP_ID=

PUSHER_APP_KEY=

PUSHER_APP_SECRET=

PUSHER_APP_CLUSTER=mt1

- 在/var/www/sample目录下运行命令`composer install`
- 完成后运行`php artisan key:generate`生成密钥
- 命令`php artisan migrate`迁移数据库
- 命令`php artisan up`上线

最后给予目录权限

sudo chmod -R 775 storage/

sudo chown -R www-data:www-data /var/www/laravel-blog



--------
####重启Nginx服务
如果运气够好,环境一致的话,按照步骤已经部署完成,重启Nginx

sudo service nginx restart

sudo service php7.1-fpm restart

```

此时在另一设备上从浏览器输入服务器的公网ip已经可以访问您的Laravel项目了!

部署完成!!

新手搞这个部署到处找资源,然后磕磕绊绊终于部署成功,很开心。写这个教程希望可以帮助到更多的希望接触laravel开发的同学们~


致谢

一步步教你部署laravel到服务器

laravel部署上线的最佳实践

laravel部署LNMP脚本

配置过程中这些文章给我很大帮助!脚本部署试了一次但是失败了,以后再做尝试~

原文地址:https://www.cnblogs.com/ustc-rjgc2017/p/8298695.html

时间: 2024-10-08 02:21:40

阿里云上配置Laravel上线环境(详细)的相关文章

关于阿里云上配置FTP的问题

今天在阿里云上抢到了6个月免费的ECS,配置FTP遇到了外网无法访问的问题,在阿里云的帮助文档上找到答案..下面是连接https://help.aliyun.com/knowledge_detail/40914.html?spm=5176.11065259.1996646101.searchclickresult.7aa640a3NPFjhI 原文地址:https://www.cnblogs.com/sbk-blog/p/8510057.html

【阿里云产品公测】阿里云ACE配置全程图解,详细到不行!

作者:阿里云用户sofia 看过阿里云社区的其他技术大姥们的评测教程,感觉还是不够详细,对于一个第一次接触ace.新浪sae这类的应用来说还是比较陌生的.我最喜欢写教程了,不过我有我的风格,那就是简单.通俗,好了不多说了,其实我也是第一次接触ace,我有理由相信我的的教程应该足够的相信.下面以ACE安装wordpress4.0为例. 创建应用 首先点击右边的创建应用环境按钮 填写一下应用信息,按如下选择填写即可. 在扩展服务中创建“缓存服务”.“数据库”和“储存”这里没有什么好说的,直接创建即可

阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)

步骤比较简单 主要是记录下 实现的过程 备忘! 比较详细的教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000 CentOS的yum源中没有git,只能自己编译安装 确保已安装了依赖的包 yum install curl yum install curl-devel yum in

阿里云上Oracle 11g RAC安装配置手册

有印象的用户可能发现,阿里云早在2016年深圳云栖大会就官方发布了对Oracle RAC的支持,但是相关产品却一直没能同步推出,相信大家都翘首以盼了许久许久.一个好消息是,近期阿里云将紧密推出两款新产品:共享块存储和ECS多网卡.这两款产品将打通众多关键云下应用上云的最后一公里,为用户提供更多的便利.在我们能正式体验到新产品之前,阿里云技术服务团队也将云上的Oracle RAC安装配置手册放出,希望能给大家提供更多不同的体验和选择. 一.安装说明 阿里云上Oracle RAC的安装部署,重点需要

如何在阿里云上安全的存放您的配置 - 续

摘要: 在之前文章中,其中一个遗留问题是如何存放访问ACM配置本身的敏感信息,比如要访问ACM本身需要的AccessKey ID(简称AK)或Secret AccessKey(简称SK)如何存放,即所谓敏感配置的"最后一公里"问题. 在<如何在阿里云上安全的存放您的配置>一文中,我们介绍了如何通过ACM存放您的敏感配置,并进行加密.这样做的目的有两个: 在应用程序或对应生产环境容器或系统中,无需持久化任何敏感数据信息(如数据库连接串,等),以防止生产环境或开发过程中的敏感信

阿里云应用配置管理ACM发布,重新定义云上配置的存放方式

摘要: 9月26日,阿里云宣布应用配置管理ACM产品正式商用,将重新定义云上配置的存放方式. 据了解,该产品具备亿级应用配置处理能力,将分布式架构下的应用配置管理智能化,极大的降低了在微服务.Devops.大数据等场景下配置管理的工作量,并保证云上配置的安全合规,让运维人员和开发者无需担心实时配置过程中产生的人为误操作给用户带去的干扰. 9月26日,阿里云宣布应用配置管理ACM产品正式商用,将重新定义云上配置的存放方式. 据了解,该产品具备亿级应用配置处理能力,将分布式架构下的应用配置管理智能化

如何在阿里云上构建一个合适的Kubernetes集群

摘要: 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其实即没有达到省钱的目的,也没有很好的发挥K8S集群的优势. 声明 本文主要介绍如何在阿里云上构建一个K8S集群的实践,只是作为参考,大家可以根据实际情况做出调整. 集群规划 在实际案例中发现,有不少同学使用了很多的小规格的ECS来构建K8S集群,这样其实即没有达到省钱的目的,也没有很好的发挥K8S集

一位云架构师用服务打动客户的故事之六(阿里云上的MSP最佳实践项目分享)

最近找了一个典型的云服务客户的案例对内进行分享,今天把核心内容脱敏后分享出来.希望能给目前在路上(做云服务MSP)的同行,有一些借鉴意义或者帮助. 该用户据全年跟进情况,目前该客户距正式启用我们公司云服务(运维服务)的日子已经有半年有余了,目前整体趋于稳定,故将目前用户进行深度复盘剖析,让各位伙伴更好的从该客户案例中提取一些有用的"武器"."售前技巧". 云产商:阿里云 企业背景-日企上来的终极三问~ > 为什么选择我们做云服务商?PS:此云服务并非指的是阿里

阿里云CentOS配置全过程

阿里云CentOS配置全过程 拿到服务器的ip.初始密码以后.我们先要用远程连接工具putty连接服务器主机. 启动putty.exe程序,进入putty主界面,在Host Name 栏中输入你的服务器ip地址,Saved Sessions 填入你的主机名称(可自定义,用于区别你的服务器).点击Save保存配置.选中你的服务器名点击open开始连接服务器. 第一次连接,会出现对话框,点击是 出现登录界面,输入用户名,默认为超级用户root,接着输入密码,要注意的是密码不会显示在屏幕上.输入密码时