一. 安装前准备
1. 安装screen
yum install screen

2. 安装wget
yum install wget

3. 更新yum
yum update

4. 安装额外资源库
yum install epel-release

5. 下载最新ius
wget https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm

6. 安装ius
rpm -ivh ius-release-1.0-15.ius.centos7.noarch.rpm

7. 新建www用户
adduser www

8. 设置密码(可不设置)
passwd www

9. 添加到组
usermod -aG wheel www

二. 安装nginx
1. 安装
sudo yum install nginx

2. 启动nginx
sudo systemctl start nginx

3. 设置为开机启动
sudo systemctl enable nginx.service

4. 检查开机自动是否设置成功
systemctl list-dependencies | grep nginx

注: 项目目录默认在 /var/www/ 下
配置文件在 /etc/nginx/ 下

三. 安装mysql
由于laravel5.4以后,数据库默认使用utf8mb64, 
mysql版本太低时,在运行php artisan migrate 会报错,原因就是utf8和utf8mb4造成的
mysql5.7以后的版本没有 utf8 和 utf8mb64 的问题,

1. 安装5.7.x的mysql源
yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2. 安装mysql
yum -y install mysql-community-server install mysql-community-devel

3. 启动mysql
service mysqld start

4. 设置mysqld服务开机自启动
systemctl enable mysqld.service

7. 检查mysqld开机自启动是否设置成功
systemctl list-dependencies | grep mysqld

注:使用yum安装,启动会系统会自动生成一个随机的密码.
查看mysql的随机密码
grep 'temporary password' /var/log/mysqld.log

使用查询得到的随机密码在终端登录
mysql -u root -p 更改密码(mysql文档规定,密码必须包括大小写字母数字加特殊符号>8位)

 ALTER USER 'root'@'localhost' IDENTIFIED BY '你要设置的密码';

退出mysql客户端,用刚才修改的密码登录确保密码修改成功
mysql -uroot -pxxxxx

四. 安装PHP7(7.1)
1. 安装php71的源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2. 安装php71
yum -y install php71w php71w-fpm

3. 安装常用拓展
yum -y install php71w-mbstring php71w-common php71w-gd php71w-mcrypt
yum -y install php71w-mysql php71w-xml php71w-cli php71w-devel
yum -y install php71w-pecl-memcached php71w-pecl-redis php71w-opcache

4. 重新加载php
systemctl reload php-fpm

5. 验证php是否安装成功
php -v

6. 验证对应的扩展是否安装成功
php -m

7. 启动php-fpm
service php-fpm start

8. 设置开机自启动
systemctl enable php-fpm.service

9. 检查开机自启动是否设置成功
systemctl list-dependencies | grep php-fpm
ps -ef | grep php-fpm

五. 安装Composer
依次执行
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

php -r "unlink('composer-setup.php');"

全局安装
sudo mv composer.phar /usr/local/bin/composer

6. 安装iptables防火墙,开放3306端口
1. 关闭默认的firewall
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

2. 安装iptables防火墙
yum install iptables-services -y

3. 启动设置防火墙
systemctl enable iptables
systemctl start iptables

4. 查看防火墙状态
systemctl status iptables

5. 编辑防火墙,增加端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件(配置要开放的端口)

端口开放的配置代码如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

:wq! #保存退出

注:
iptables默认配置文件里有两行设置:

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

这两行设置一定要写在其他 端口开放 配置代码的 下面,不然会导致端口开放失败

6. 重启配置,重启系统
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

7. 进入阿里云,添加安全组规则,把3306端口开放
由于阿里云有双层保障,安全组的功能就是在请求到达服务器前的一个保障,
因此,阿里云安全组需要先开放3306端口的入方向

六. 安装git
1. 下载安装git
yum -y install git

2. 检查是否安装成功
git --version

七. 下载或克隆laravel项目到 /var/www/ 目录下
1. 进入 /var/www/ 下 git clone 项目地址

2. 复制 .env.example 为 .env

3. 修改 .env 相关配置

4. 安装依赖
composer install

5. 生存appkey
php artisan key:generate

6. 给文件权限
以上操作针对的都是root用户,需要开放网站访问用户权限
1. 给 /var/www/项目名 设置权限
sudo chown -R :www /var/www/项目名

2. 给项目下的storage目录写的权限
sudo chmod -R 775 /var/www/项目名/storage

3. 如果给完775权限扔不能访问,那么给整个项目777权限
sudo chmod -R 777 /var/www/项目名/

八. 设置nginx配置文件
1. 进入nginx目录下的conf.d文件夹
cd /etc/nginx/conf.d/

2. 新建一个自己网站的配置文件
vim yourwebsite.com.conf
文件以.conf结尾,名字一般为自己网站的名,这样方便辨识

3. 在新建的配置文件中写入如下内容:
server {
listen 80;
server_name yourwebsite.com;
set $root_path 'your project path/public';
root $root_path;

index index.php index.html index.htm;

try_files $uri $uri/ @rewrite;

location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;

fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}

location ~ /\.ht {
deny all;
}
}

最后的启动:http://xxx.xxxxxx.xx/login启动就可以了

centos7安装laravel的更多相关文章

  1. centos7安装LNMP与Laravel遇到的一些小问题

    安装LNMP 第一次安装 yum update CentOS7下 Nginx1.13.5 + PHP7.1.10 + MySQL5.7.19 源码编译安装 安装mySQL时,mysqld: error ...

  2. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  3. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  4. CentOS7安装mysql提示“No package mysql-server available.”

    针对centos7安装mysql,提示"No package mysql-server available."错误,解决方法如下: Centos 7 comes with Mari ...

  5. CentOS7安装Oracle 11gR2 安装

    概述 Oracle 在Linux和window上的安装不太一样,公司又是Linux系统上的Oracle,实在没辙,研究下Linux下Oracle的使用,oracle默认不支持CentOS系统安装,所以 ...

  6. laravel(一):如何安装laravel

    1.前提条件 本文针对想从零开始开发 Laravel 程序的初学者,不需要预先具备任何的 Laravel 使用经验.不过,为了能顺利阅读,还是需要事先安装好一些软件: PHP 5.4 及以上版本 包管 ...

  7. Centos7安装完毕后重启提示Initial setup of CentOS Linux 7 (core)的解决方法

    问题: CentOS7安装完毕,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License i ...

  8. 在 xampp 环境下安装 laravel

    网上搜了很多教程,很多都是采用命令行安装的.但是对于web前端来说,根本就不知道在干吗! 于是,打算写一篇文章,来教后面的人如何在 XAMPP 环境下安装 laravel. 初步认识 XAMPP(Ap ...

  9. centos7安装eclipse

    centos7安装eclipse Eclipse是一个集成开发环境(IDE),包含一个基工作区和定制环境的可扩展插件系统.大部分使用 Java 编写,Eclipse 可以用来开发应用程序.通过各种插件 ...

随机推荐

  1. drozer的使用介绍

    0x00. 配置adb环境变量 下载地址:http://pan.baidu.com/s/1o8itZtC 密码:9o6j 如何配置android的adb环境变量 http://jingyan.baid ...

  2. sqlmap 使用总结

    一直在用sqlmap,一直在浅层的使用方面,所以我想深入了解一下sqlmap. 参考文章: Sqlmap使用教程[个人笔记精华整理]        http://www.vuln.cn/1992 sq ...

  3. bootstrap-table前端修改后台传来的数据重新进行渲染

    使用bootstrap-table显示数据,后台传回数据以后,可能需要对其做调整,如需要前端为数据添加单位 回到顶部 调整数据代码 $("#"+tableId).bootstrap ...

  4. Netty实现简单WebSocket服务器

    本文参考<Netty权威指南>├── WebSocketServerHandler.java├── WebSocketServer.java└── wsclient.html packag ...

  5. python set 使用

    创建集合set python set类是在python的sets模块中,大家现在使用的python2.7.x中,不需要导入sets模块可以直接创建集合.>>>set('boy')se ...

  6. camera理论基础和工作原理【转】

    转自:http://www.cnblogs.com/fjutacm/p/220631977df995512d136e4dbd411951.html 写在前面的话,本文是因为工作中需要编写摄像头程序,因 ...

  7. linux快速将磁盘额外空间扩展到某一挂载点

    由于之前在创建用户时,为该用户目录分配的空间只有5G,在后续的开发,存放的东西越来越多,空间眼看就不够用了,网上查了一下,很多都是教我们将其余挂载点分配过多的空间分配到空间不足的挂载点,步骤还不算太复 ...

  8. 蓝皮书:异象石 【dfs序+lca】

    题目详见蓝皮书[算法竞赛:进阶指南]. 题目大意: 就是给你一颗树,然后我们要在上面进行三种操作:  1.标记某个点  或者  2.撤销某个点的标记  以及   3.询问标记点在树上连通所需的最短总边 ...

  9. Select2日常操作集合

    1.获得多选值 var arraySelected = $('#carTypes').select2("data"); var carTypesDesc = ''; for (va ...

  10. UML建模图

    UML 2.0规范 迅速成为建立软件系统可视化.规范.文档的标准.统一建模语言(UML) 也被用于非软件系统的建模,并在很多领域,诸如金融,军事,工程方面应用广泛. UML 2 定义了13种基本的图, ...