第一次尝试把本地的项目上线,
 
购买了某云的轻量应用服务器, 镜像为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. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

  2. [物理学与PDEs]第2章第5节 一维流体力学方程组的 Lagrange 形式 5.2 Lagrange 坐标

    1. Lagrange 坐标 $$\beex \bea &\quad 0=\int_\Omega\cfrac{\p \rho}{\p t}+\cfrac{\p}{\p x}(\rho u)\r ...

  3. java(10)类的无参方法

    一.变量的作用域(有效的使用范围) 1.变量有2种 1.1成员变量(属性) 声明在类的里面,方法的外面 1.2 局部变量 声明在方法里面或for循环结构中 2.调用时的注意事项(初始值不同.作用域不同 ...

  4. Django小技巧——使用package管理app

    在一个学习视频上看见的小技巧,遂记录下来. 1. 如下图所示,项目中有多个app,本技巧要解决的问题是集中管理这多个app,将其放入一个package下集中管理,改善项目的视图环境 2. 建立一个pa ...

  5. Leetcode#344. Reverse String(反转字符串)

    题目描述 编写一个函数,其作用是将输入的字符串反转过来. 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man ...

  6. 第十一篇:Mysql系列

    Python开发基础之路 第十一篇:Mysql系列 Python-数据库 基本SQL语句 Python-数据类型 主键auto_increment Python-多表关联 外键 级联 Python-s ...

  7. [转] NodeJS框架express的途径映射(路由)功能及控制

    NodeJS框架express的路径映射(路由)功能及控制 我们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇CSSer将提供express框架的route和route co ...

  8. Beta冲刺4/7

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(4/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 ppt模板 接下来的计划 做好机动. ...

  9. 各种Handler

    ArrayHandler:把结果集中的第一行数据转成对象数组. ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中. BeanHandler:将结果集中的第 ...

  10. CodeForces 630G Challenge Pennants (组合数学)

    <题目链接> 题目大意: 有两种旗子,分别有5个和3个,将这些旗子分配给n个人,有多少中方法. 解题分析: 5面A旗子的发放方案为:$[1,1,1,1,1],[1,1,1,2],[1,2, ...