一直以来都没有养成记录学习的好习惯,我想从这么一天开始,把自己学习和工作中的经验和坑都记录下来。等到以后老的时候还有可以回忆的地方。

最近在学习linux,虽然已经玩linux很久了,但是没有怎么用心去学。这次我决定把自己在linux的学习之路记录下来。

Linux下安装 Nginx+PHP+MySql
1.nginx 的安装
 安装nginx首先需要编译环境的gcc g++ 等开发库已经安装好。
  1. 首先执行一下命令 保证gcc g++ 完整安装
    yum
    -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng
    libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib
    zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses
    ncurses-devel curl curl-devel ssse2fsprogs e2fsprogs-devel krb5
    krb5-devel libidn libidn-devel openssl openssl-devel openldap
    openldap-devel nss_ldap openldap-clients openldap-servers
  2. yum install nginx -y
  3. 启动nginx   
    sudo systemctl start nginx
  4. 设置开机启动
    sudo systemctl enable nginx
  5. 启动了nginx 后 可以在内网访问http://localhost 可以看到如下显示则说明nginx已经成功安装
  6. 如果要通过外网访问 还需要 打开80 端口 
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    这个时候 我们就可以通过外网访问了

2.安装php

  1. 要让 nginx 能够执行 php 文件,需要去安装一下 php-fpm,我要安装的是比较新的 PHP 7 ,这个软件包可以在 IUS 仓库里找到,所以你需要先安装 IUS 仓库。

    sudo yum install php70u-fpm -y
  2. 启动php-fpm
    sudo systemctl start php-fpm
  3. 将php-fpm添加到开机启动
    sudo systemctl enable php-fpm
  4. 这一部分只是安装了php-fpm 然而还需要安装些许php的扩展这样才能保证你的php支持json,mysql等
    sudo yum install php70u-gd  php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y如果上一步出现了  
  5. 请执行
    yum provides '*/applydeltarpm' 和 yun install deltarrpm 
  6. 重新加载php-fpm 
    sudo systemctl reload php-fpm
  7. 如果 YUM进行install或update出现KeyboardInterrupt错误

3.安装mysql/mariadb

  1. MySQL 与 MariaDB 是相互兼容的,现在社区推荐使用 MariaDB,所以我们可以去安装一下 MariaDB ,用它代替 MySQL
     yum install mariadb101u-server -y
  2. 启动 mysql
    sudo systemctl start mariadb
  3. 设置开机启动
    sudo systemctl enable mariadb

4.目录和文件权限

网站上面有些目录或文件需要有写入权限,这样你得为这些目录和文件分配合适的权限,一般可以把它们的拥有者设置成 php-fpm 使用的用户,查看一下谁在运行 php-fpm 这个服务:

sudo ps aux|grep php

修改所使用的用户,php-fpm 的配置文件是:/etc/php-fpm.conf,还有在 /etc/php-fpm.d/* 这个目录里的所有文件都是 php-fpm 的配置文件。默认这个目录里有一个 www.conf ,你可以编辑这个文件来修改 php-fpm 所使用的用户名称。使用 vim 命令:

vim /etc/php-fpm.d/www.conf

打开文件以后你可以搜索下关键词 user ,输入 :/user  ,会搜索到结果,按小 n 可以继续向下查找,按大 N 可以向上查找。直到你看到:

user = php-fpm

这个 php-fpm 就是运行 PHP-FPM 的用户的名字,你看到的也可能是其它的名字,这不重要。你只要知道这个用户是谁,在哪里可以修改这个用户就行了。在遇到目录写入权限的问题,比如不能正常上传网站的文件,你可以把保存上传文件的那个目录的拥有者修改成运行 PHP-FPM 的用户就可以了。

修改目录的拥有者可以使用这样的命名:

sudo chown -R 用户名 目录

这样就会把指定的目录的拥有者修改成指定的用户了。也就是如果你把目录的拥有者修改成运行 PHP-FPM 的那个用户,那么在网站上再去上传文件就不会有权限的问题了,因为目录的拥有者一般都会拥有可以写入的权限。

Linux 环境下安装 Nginx+php+mysql 开发环境的更多相关文章

  1. windows环境下安装vue+webpack的开发环境

    本人最近在学习vue,在学习的过程中遇到对的问题和解决方法 1.我们首先要安装node.js.node.js的官方地址为:https://nodejs.org/en/download/,下载完毕,按照 ...

  2. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  3. Linux和Windows环境下安装Nginx

    Nginx的安装 windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点 ...

  4. Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试

    Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...

  5. 安装Nginx+Lua+OpenResty开发环境配置全过程实例

    安装Nginx+Lua+OpenResty开发环境配置全过程实例 OpenResty由Nginx核心加很多第三方模块组成,默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用. ...

  6. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  7. Windows下安装Nginx+php+mysql环境

    系统:Windows 7 64位系统 安装之前,首先下载软件: Nginx: http://nginx.org/en/download.html PHP Stable PHP 5.6.26: http ...

  8. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  9. linux下安装nginx+php+mysql环境 详细教程

    话不多说上代码 linux环境:centos 7.0 64位 nginx:nginx-1.8.0.tar.gz php: php-7.1.1.tar.gz mysql: mysql-5.6.21.ta ...

随机推荐

  1. 【转】看C++文档的小知识

    转载:http://www.ggv.com.cn/forum/clib/ctype/isspace.html 函数isspace 原型:extern int isspace(int c);    用法 ...

  2. Spring 事务管理高级应用难点剖析: 第 3 部分

    本文是“Spring 事务管理高级应用难点剖析” 系列文章的第 3 部分,作者将继续深入剖析在实际 Spring 事务管理应用中容易遇见的一些难点,包括在使用 Spring JDBC 时如果直接获取 ...

  3. js中this 的四种用法

    this 在函数执行时,this 总是指向调用该函数的对象.要判断 this 的指向,其实就是判断 this 所在的函数属于谁. 在<javaScript语言精粹>这本书中,把 this  ...

  4. AtCoder Grand Contest 007 E:Shik and Travel

    题目传送门:https://agc007.contest.atcoder.jp/tasks/agc007_e 题目翻译 现在有一个二叉树,除了叶子每个结点都有两个儿子.这个二叉树一共有\(m\)个叶子 ...

  5. OS__信号量(semaphore)PV操作

    信号量的概念 1.信号量的类型定义 信号量(semaphore)的数据结构为记录型数据结构一个值和一个指针,指针指向等待该信号量的下一个进程.信号量的值与相应资源的使用情况有关,在操作系统中,信号量用 ...

  6. UVa 1645 Count (递推,数论)

    题意:给定一棵 n 个结点的有根树,使得每个深度中所有结点的子结点数相同.求多棵这样的树. 析:首先这棵树是有根的,那么肯定有一个根结点,然后剩下的再看能不能再分成深度相同的子树,也就是说是不是它的约 ...

  7. MySQL备份与主备配置

    MySQL备份与主备配置 数据备份类型 全量备份:备份整个数据库 增量备份:备份自上一次备份以来(增量或完全)以来变化的数据 差异备份:备份自上一次完全备份以来变化的数据 全量备份 全量备份的方法有 ...

  8. vue中引入公共方法并使用

    test.js文件(公共js文件) function myFun() { console.log('this is my function') } export { myfun } // 2 expo ...

  9. 451. Sort Characters By Frequency (sort map)

    Given a string, sort it in decreasing order based on the frequency of characters. Example 1: Input: ...

  10. CF724G Xor-matic Number of the Graph(线性基+组合数)

    题目描述 给你一个无向图,有n个顶点和m条边,每条边上都有一个非负权值. 我们称一个三元组(u,v,s)是有趣的,当且仅当对于u,v,有一条从u到v的路径(可以经过相同的点和边多次),其路径上的权值异 ...