CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

阿里云服务器的选择

当然是选择学生优惠啦。这里阿里云还提供了轻量级服务器这个选项,可以预装 LAMP,但是不能在服务器上跑高负载的工作。这听起来就像是超售很厉害的样子,还只便宜4块钱,一点诚意都没有果断不选。

Nginx 的安装

直接通过 yum install nginx 是行不通的,因为 nginx 并不在 yum 源里。我们先安装 EPEL

yum install epel-release -y

然后安装 Nginx

yum install nginx -y

启动并允许开机自启

systemctl start nginx
systemctl enable nginx

这时输入你服务器的 IP 地址就能见到 Nginx 的欢迎页了

MariaDB 的安装

MariaDB 是 MySQL 的一个分支,由开源社区在维护,比被收购多次的 MySQL 清真那么一点。

使用命令

yum install mariadb-server mariadb -y

安装完毕后,类似地

systemctl start mariadb
systemctl enable mariadb

最后初始化

mysql_secure_installation

这里只需要你设置 root 用户的密码,其他一切都可以选择默认。

PHP 7.1 的安装

首先下载 PHP 7.1

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Enable php71

yum install yum-utils -y
yum-config-manager --enable remi-php71

安装 PHP

yum --enablerepo=remi,remi-php71 install php-fpm php-common

安装常用模块

yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

配置 PHP 与 Nginx

首先

sudo vi /etc/php.ini

;cgi.fix_pathinfo=1 改为 cgi.fix_pathinfo=0

因为若不修改,当访问一个 PHP 文件时,若该文件并不存在,PHP 会尝试执行与该文件名相似的文件,这样就能查看其他文件的二进制内容了,非常不安全。

然后修改 PHP-FPM 配置

sudo vi /etc/php-fpm.d/www.conf

;listen = 127.0.0.1:9000改为listen = /var/run/php-fpm/php-fpm.sock

;listen.owner = nobody改为listen.owner = nginx

;listen.group = nobody改为listen.group = nginx

user = apache改为user = nginx

group = apache改为group = nginx

最后修改 Nginx 的配置

sudo vi /etc/nginx/conf.d/default.conf

写入:

server {
listen 80;
server_name 服务器的IP; # note that these lines are originally from the "location /" block
root /usr/share/nginx/html;
index index.php index.html index.htm; location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

记得把 “服务器的IP” 替换掉

此时,重启 Nginx 服务,开启 PHP

sudo systemctl restart nginx
systemctl start php-fpm.service
systemctl enable php-fpm.service

就成功啦

测试一下

编辑文件

sudo vi /usr/share/nginx/html/info.php

添加内容

<?php phpinfo(); ?>

访问

http://服务器IP/info.php

你应该会看见看见 PHP 版本的页面,否则就是出现了错误,自己排查吧。

Laravel 框架的安装

先安装 PHP-zip

yum install php-pecl-zip

安装 Composer

-r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

在PATH中添加~/.composer/vendor/bin,然后执行

composer global require "laravel/installer=~1.1"

就好啦!

一旦安装完成后,就可以使用 laravel new 命令建立一份全新安装的 Laravel 应用,例如: laravel new blog 将会在当前目录下建立一个名为 blog 的目录, 此目录里面存放着全新安装的 Laravel 相关代码

CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11的更多相关文章

  1. CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

    <!doctype html> CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架.mdhtml {overflow-x: initia ...

  2. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  3. centos7下搭建nginx+php7.1+mariadb+memcached+redis

    一.环境准备 1.首先介绍一下环境,以及我们今天的主角们 我用的环境是最小化安装的centos7,mariadb(江湖传言mysql被oracle收购后,人们担心像java一样毁在oracle手上于是 ...

  4. Windows下配置Nginx+php7

    第一部分:准备工作 第二部分:安装nginx 第三部分:安装php(这里主要讲nginx配置启动php,以cgi运行php)nginx配置文件是conf文件夹里的nginx.conf 在这里,我简单说 ...

  5. CentOS下配置nginx conf/koi-win为同一文件的各类错误

    今天配置CentOS6.5下安装Nginx + php7 + mysql5.7.15遇到了一些坑.本来家里的电脑在配置环境的时候没有问题,拿去公司的电脑上就是到处报错.不知道是不是人品问题.今晚在家重 ...

  6. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

  7. CentOS 7 安装 配置 Nginx + PHP

    . CentOS 7 下配置 yum 安装 Nginx. 进入/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim ngi ...

  8. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

  9. Windows下配置Nginx

    一.今天是2017年1月18日.揣着一种也许叫做冲动的心情,决定以后每天都记录和回顾新涉及的技术,巩固已学到的知识,坚持. 二.回归到今天的技术主题,因为之前对于[反向代理]这种技术充满了好奇,借此机 ...

随机推荐

  1. getString()方法与getObject()方法的区别

    JDBC提供了getString().getInt()和getData()等方法从ResultSet中获取数据,当查询结果集中的数据量较小时,不用考虑性能,使用这些方法完全可以满足需求,但是当Resu ...

  2. MySQL DDL Demo

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11606833.html DDL Demo CREATE TABLE `user` ( `id` ) u ...

  3. python学习笔记(四)字符串及字符串操作

    字符串 字符串可以存任意类型的字符串,比如名字,一句话等等. 字符串还有很多内置方法,对字符串进行操作,常用的方法如下: name1='hello world' print(name.capitali ...

  4. Angular JS - 9 - SeaJS加载js模块

    seajs加载模块的三种方式 1.seajs.use() 加载入口模块,类似于Java的main函数 2.require:      当在一个模块中需要用到其它模块时一般用require加载 1)   ...

  5. BDE(一款数据库引擎,通过它可以连接不同数据库)

    BDE(Borland Database Engine)是Inprise公司的数据库引擎,它结合了SQL Links允许程序员通过它能够连接到各种不同的数据库.BDE是BORLAND 数据库引擎的缩写 ...

  6. python里的深浅拷贝

    拷贝就是拷贝,何来深浅之说? Python中,对象的赋值,拷贝(深/浅拷贝)之间是有差异的,如果使用的时候不注意,就可能产生意外的结果 其实这个是由于共享内存导致的结果 拷贝:原则上就是把数据分离出来 ...

  7. SpringBoot 快速构建微服务体系 知识点总结

    可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...

  8. python slot

    每个实例包含一个字典,slot 让实例变成tup 或list,减少内存,但不能再增加属性 For classes that primarily serve as simple data structu ...

  9. Linux 下查看用户组信息

    1.id 通过id 可以直接查看到当前登陆用户的uid, group id , group name 等等.. 2.groups

  10. 日期和时间格式(ISO 8601)

    参考 ISO 8601 - Wikipedia ISO 8601 Date and time format