第一次尝试把本地的项目上线,
 
购买了某云的轻量应用服务器, 镜像为Ubuntu 16.04 
直接运行 apt-get install nginx 出错
 
根据提示运行 apt-get update ,然后再运行安装命令 ,成功
 
然后官网还有这么一段话:
For Debian/Ubuntu, in order to authenticate the nginx repository signature and to eliminate warnings about missing PGP key during installation of the nginx package, it is necessary to add the key used to sign the nginx packages and repository to the apt program keyring. Please download this key from our web site, and add it to the apt program keyring with the following command:
sudo apt-key add nginx_signing.key
下载这个文件并运行这条命令即可,大意是为了认证nginx仓库签名,以及去除在安装nginx包时找不到PGP key的警告。
 
然后运行nginx,就可以访问ip地址看到nginx欢迎界面了!
 

然后是php的配置以及项目的投放。
 
安装PHP-fpm 这是一个PHPFastCGI管理器,
$ sudo apt-get install php7.2-fpm
 
找到配置文件的修改
重启php-fpm
 
修改服务器配置,由于没有域名所以使用ip地址
 
nginx无法开启,查看80端口,发现被进程占用
 
使用命令 killall -9 nginx 关掉所有进程
重启nginx: $ service nginx restart
查看nginx状态:$service nginx status
 
然后就正常了,但访问主页却出现500错误,应该是代码导致。
 
应该还是laravel项目需要配置一番,于是又在网上找寻一番,发现还是漏掉了很多关键的地方,下面的步骤亲测有效!
可惜我选的服务器只有1M带宽,果然很鸡肋,还需要进一步优化。
而且原来已经预装了Apache2,需要卸载,以及要安装composer,运行composer install 等等,还是要多多练习啊!
 
原文来自:
 
 
以下是搬运内容:
 
首先你需要一台阿里云/腾讯云服务器
安装系统选择 ubuntu 16.04
然后通过 ssh 登录远程服务器按下列步骤进行配置:
更新列表
apt-get update
安装语言包
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-8
安装常用软件
sudo apt-get install -y vim git zip unzip
安装PHP7
//请确保每一步没有出错,如果有报错,可尝试多安装几次
 
sudo apt-get install -y software-properties-common
 
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
 
sudo apt-get update
 
apt-cache search php7.1
 
sudo apt-get install -y php7.1
 
sudo apt-get install -y php7.1-mysql
 
sudo apt-get install -y php7.1-fpm
 
sudo apt-get install -y php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring
安装 Mysql
sudo apt-get install -y mysql-server
 
//安装完后需设置密码
安装 Nginx
//安装之前需确认是否安装了apache2,如果已经安装了apache2,需要先停止/卸载 apache2//停止
sudo service apache2 stop
//卸载
sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove
 
//安装 nginx
 
sudo apt-get install -y nginx
配置 PHP7
 
sudo vim /etc/php/7.1/fpm/php.ini
 
//修改 cgi.fix_pathinfo=0
 
sudo vim /etc/php/7.1/fpm/pool.d/www.conf
 
//修改 listen = /var/run/php7.1-fpm.sock
配置 Nginx
sudo vim /etc/nginx/sites-available/default
 
//修改如下,根据自己的项目情况修改对应信息:'laravel-project'替换为你的项目,'server_domain_or_IP' 替换为你的网站域名或IP地址
server {
  listen 80 default_server;
  listen [::]:80 default_server;
 
  root /var/www/laravel-project/public;
 
  index index.php index.html index.htm;
 
  server_name server_domain_or_IP;
 
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
 
  location ~ \.php$ {
    try_files $uri /index.php =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php7.1-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}
拉取代码
//建议先将代码上传到云端代码仓库(github, coding)然后再在服务端上拉取
 
cd /var/www
 
git clone 地址
安装 Composer 并使用 Composer 安装代码依赖
访问 composer 官网 获取下面四行代码最新版,直接粘贴执行安装 Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
 
//然后移动 composer.phar
mv composer.phar /usr/local/bin/composer
 
//进入项目目录
cd /var/www/laravel-project
 
//执行 composer install
composer install
创建 .env 文件
 
cd /var/www/laravel-project
 
cp .env.example .env
 
vim .env
 
//根据项目实际情况修改 .env 文件
生成 laravel key
cd /var/www/laravel-project
 
php artisan key:generate
创建数据库,执行迁移
//首先登录 mysql 创建一个对应项目的数据库,名字应该和 .env 文件中的一致
 
cd /var/www/laravel-project
 
php artisan migrate
修改权限
sudo chown -R www-data:www-data /var/www
 
sudo chmod -R 777 /var/www/laravel-project/storage
重启 Nginx 和 PHP7 fpm
service nginx restart
 
service php7.1-fpm restart
搞定!
 
 
 

Laravel项目部署上线(阿里云 Ubuntu 16.04)的更多相关文章

  1. 阿里云ubuntu 16.04搭建odoo11服务器

    ubuntu 16.04 具体如何搭建odoo11网站的具体步骤可以参考这一篇文章 按上面的文章配置环境后,自己网站的启动具体步骤如下: 1.登录阿里云 [远程连接],进入命令行界面1 2.cd到目录 ...

  2. 阿里云ubuntu 16.04 搭建pptpd 第二版

    前言:1.我常用的服务器在国内,但我又有某方面的需求,所以想要搭建一个pptpd的服务器    2.但我又不常用,所以感觉阿里云包年包月的不划算,所以准备采用阿里云按量付费的实例来搭建pptpd,并形 ...

  3. Java Web项目部署到阿里云服务器(ECS)

    本篇随笔只是记录博主第一次将自己的Java项目部署到阿里云服务器的大致过程,具体细节还请参考别的博文. 一.项目介绍 我做的项目是利用maven项目构建工具进行搭建基于SSM框架的代码共享管理系统,主 ...

  4. javaWeb项目部署到阿里云服务器步骤

    记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...

  5. flask项目部署到阿里云 ubuntu16.04

    title: flask项目部署到阿里云 ubuntu16.04 date: 2018.3.6 项目地址: 我的博客 部署思路参考: Flask Web开发>的个人部署版本,包含学习笔记. 开始 ...

  6. javaWeb项目部署到阿里云服务器步骤 完整版

    记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...

  7. 在阿里云Ubuntu 14.04 Linux服务器上安装docker

    参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu  14.04 服务器上成功安装 docker . ---- ...

  8. 将javaweb项目部署到阿里云服务器

    主要步骤:1. 购买阿里云服务器2. 远程连接3. 在云服务器上配javaweb环境:jdk,tomcat,MySQL4. 将项目的war文件放到Tomcat下关于云服务器ECS:如果还想在买服务器之 ...

  9. Django项目部署到阿里云服务器无法发送邮件,发送邮件超时问题解决

    前言 今天, 博主将写了好久的一个Django小项目尝试在阿里云部署上线,由于项目中需要发送邮件,博主调用了163邮箱接口,在本地测试邮件功能正常,可是上线后,邮件功能一直超时崩溃.在百度一番查资料后 ...

随机推荐

  1. 液晶流在齐次 Besov 空间中的正则性准则

    在 [Zhang, Zujin. Regularity criteria for the three dimensional Ericksen–Leslie system in homogeneous ...

  2. [物理学与PDEs]第3章习题5 一维理想磁流体力学方程组的数学结构

    试将一维理想磁流体力学方程组 (5. 10)-(5. 16) 化为一阶拟线性对称双曲组的形式. 解答: 由 (5. 12),(5. 16) 知 $$\beex \bea 0&=\cfrac{\ ...

  3. 迅为iTOP-4418开发板-Android5.1系统编译补充

    基于iTOP-4418开发板-Android5.1系统编译补充 5.6 编译-20181225 日期之后的源码 本文档补充介绍 4418 编译网盘目录 “J:\局域网共享_阮\iTOP4418 开发板 ...

  4. python Flask web框架

    目录: --> Flask --> 配置文件 --> 配置文件解析 --> 配置文件导入 --> 路由 --> 路由参数 --> 常用路由匹配 --> ...

  5. Ansible------常用功能

    local_action Ansible 默认只会对控制机器执行操作,但如果在这个过程中需要在 Ansible 本机执行操作就需要使用到local_action become:True Ansible ...

  6. Ubuntu 16.04下安装MySQL及远程连接

    最近因为要研究一个关于MySQL的漏洞,所以需要MySQL的环境,就用了近一个小时的时间搭建了一个,期间出了点问题,故记录于此. 1.首先是安装,在命令窗口中输入下面三条命令即可. sudo apt- ...

  7. C#+EntityFramework编程方式详细之Database First

    Database First “Database First”模式即“数据库优先”,其实Database First 与Model First 很类似,只不过一个是有数据可一个是创建数据库,具体的操作 ...

  8. ECMAScript 6中数组新方法

    数组的方法 数组的的大部分方法都可以实现数组的遍历. foreach方法 实现数组的遍历 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.forEach(fu ...

  9. cc.Node 的坐标空间与ACTION的学习

    1.创建二维的向量坐标 //创建向量坐标方法一 let new_pos1 = new cc.Vec2(100, 100); //创建向量坐标方法二 let new_pos2 = cc.v2(200, ...

  10. Java Spring Boot VS .NetCore (十) Java Interceptor vs .NetCore Interceptor

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...