一. 安装前准备
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. 关于SQL的over partition by 开窗语句在分页和统计中的使用总

    CREATE TABLE OrderInfo( ID INT IDENTITY(1,1) PRIMARY KEY, CustomerID INT NULL, TotalMoney DECIMAL(18 ...

  2. 源码解读-文件上传angularFileUpload1

    angular-file-upload 1.文件上传模块的引入就不赘述,简单准备 2.初始化组件并绑定change事件 3.监听用户选择文件FileItem(change事件),push进文件数组qu ...

  3. 简单重写容器vector

    #pragma once #include <iostream> using namespace std; template<class T> class CMyVector ...

  4. 【blog】SpringBoot普通类中如何获取其他bean例如Service、Dao

    自己写工具类 工具类 import org.springframework.beans.BeansException; import org.springframework.context.Appli ...

  5. Shiro入门 - 通过自定义Realm连数数据库进行授权

    shiro-realm.ini [main] #自定义Realm myRealm=test.shiro.MyRealm #将myRealm设置到securityManager,相当于Spring中的注 ...

  6. 【try..catch..】【判断输入是否为空】【onchange事件】【onmouseover和onmouseout事件】【onmousedown和onmouseup事件】

    1.try..catch.. <body><script>function myFunction(){try{ var x=document.getElementById(&q ...

  7. 《shiro》视频目录---1、权限管理-shiro

    \day01_shiro\0323\10realm支持散列.avi;\day01_shiro\0323\1权限管理原理.avi;\day01_shiro\0323\2权限管理解决方案.avi;\day ...

  8. 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)

    咕咕咕了太久  多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...

  9. 【转】python包导入细节

    [转]python包导入细节 包导入格式 导入模块时除了使用模块名进行导入,还可以使用目录名进行导入.例如,在sys.path路径下,有一个dir1/dir2/mod.py模块,那么在任意位置处都可以 ...

  10. SQL逻辑查询语句执行顺序

    阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SELECT语句关键字的定义顺序 SELE ...