第一次尝试把本地的项目上线,
 
购买了某云的轻量应用服务器, 镜像为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. 第三节:框架前期准备篇之利用Newtonsoft.Json改造MVC默认的JsonResult

    一. 背景 在MVC框架中,我们可能经常会用到 return Json(),而Json方法内部又是一个JsonResult类,那么JsonResult内部又是什么原理呢?在MVC框架中,各种xxxRe ...

  2. [物理学与PDEs]第5章第3节 守恒定律, 应力张量

    5. 3 守恒定律, 应力张量 5. 3. 1 质量守恒定律 $$\bex \cfrac{\p \rho}{\p t}+\Div_y(\rho{\bf v})=0.  \eex$$ 5. 3. 2 应 ...

  3. [物理学与PDEs]第1章第8节 静电场和静磁场 8.1 静电场

    1. 静电场: 由静止电荷产生的稳定电场. 2. 此时, Maxwell 方程组为 $$\bex \Div{\bf D}=\rho_f,\quad \rot{\bf E}={\bf 0}. \eex$ ...

  4. rem是怎么计算的

    「rem」是指根元素(root element,html)的字体大小,从遥远的 IE6 到版本到 Chrome 他们都约好了,根元素默认的 font-size 都是 16px. rem是通过根元素进行 ...

  5. dubbo和zikkeper的使用

    1.先来一段异常看看:No provider available for the service 16:05:25.755 [localhost-startStop-1] WARN o.s.w.c.s ...

  6. php session的用法

    初始 Session: session_start(). 存储 Session 变量:$_SESSION['name']='快聘100'; 调用Session:$name = $_SESSION['n ...

  7. 剑指Offer编程题1——二维数组中的查找

    剑指Offer编程题1---------------二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完 ...

  8. 第一天 Requests库入门

    Requests库的get()方法 requests.get(url, params=None, **kwargs) ∙ url : 拟获取页面的url链接 ∙ params : url中的额外参数, ...

  9. 利用特性和反射给泛型Model赋值

    为了解决从数据库读取的表字段和自己建的viewModel字段名称不相符的问题 本人小白,初次将特性及反射应用到实例,写的不好的地方还请大家多多包涵 新建一个控制台应用程序命名为ReflectAndAt ...

  10. Java框架之spring框架的优点,为什么要学习spring框架

    为什么要学习Spring的框架a: 方便解耦,简化开发    Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理 b:AOP编程的支持      Spring提供面向切 ...