Linux 环境下安装 Nginx+php+mysql 开发环境

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

最近在学习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 的那个用户,那么在网站上再去上传文件就不会有权限的问题了,因为目录的拥有者一般都会拥有可以写入的权限。

posted @ 2018-02-01 15:41  smile001  阅读(226)  评论(0编辑  收藏  举报