CentOS7.4部署laravel环境

CentOS7.4部署laravel框架

1. 安装前准备

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

2. 安装nginx

1. 安装
yum install nginx
2. 启动nginx
systemctl start nginx
3. 设置为开机启动
systemctl enable nginx.service

注: 项目目录默认在 /usr/share/nginx/html 下,配置文件在 /etc/nginx/ 下

3. 安装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
systemctl start mysqld.service
4. 设置mysqld服务开机自启动
systemctl enable mysqld.service

注:使用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

4.安装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
systemctl start php-fpm.service
8. 设置开机自启动
systemctl enable php-fpm.service

5. 安装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 #设置防火墙开机启动

6. 安装git

1. 下载安装git
yum -y install git
2. 检查是否安装成功
git --version

7. 下载或克隆laravel项目到/usr/share/nginx/html目录下

一、网站项目根目录是/usr/share/nginx/html/
1. 进入/usr/share/nginx/html/下
2. 给文件权限
二、以上操作针对的都是root用户,需要开放网站访问用户权限
1. 给 /usr/share/nginx/html/项目名 设置权限
chown -R :www /usr/share/nginx/html/项目名
2. 给项目下的storage目录写的权限
chmod -R 775 /usr/share/nginx/html/项目名/storage
3. 如果给完775权限扔不能访问,那么给整个项目777权限
chmod -R 777 /usr/share/nginx/html/项目名/

8. 设置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;
    }
}

 

4. 配置完毕,重启nginx服务

systemctl restart nginx

 

 

 

未经允许不得转载:老汪的博客 » CentOS7.4部署laravel环境

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

什么?你想更了解我?

点击联系点击联系