• linux下php开发环境搭建(nginx+php+mysql)


    安装前准备工作

    先安装一些必要的类库

    yum install -y wget  zlib-devel bzip2-devel  curl-devel openssl openssl-devel vim subversion pcre-devel

    php需要的一些类库

    yum install -y libxml2 libxml2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel libxslt-devel
    //mcrypt扩展
    yum  install  -y  libmcrypt  libmcrypt-devel php-mcrypt

    mysql相关类库
    yum install -y cmake gcc gcc-c++ perl-Data-Dumper libaio git perl bison ncurses-devel

    一、安装nginx

    1、下载nginx安装包

     wget -c http://nginx.org/download/nginx-1.7.4.tar.gz 

    2、进入目录,解压

    tar -zxvf nginx-1.7.4.tar.gz 

    3、编译

    ./configure   --prefix=/usr/local/nginx --with-pcre --with-file-aio --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module

    4、安装

    make && make install

    5、检查是否安装成功

    /usr/local/nginx/sbin/nginx -t检测是否成功

    /usr/local/nginx/sbin/nginx 启动nginx

    /usr/local/nginx/sbin/nginx -s  reload 重启

    6、开放端口

    vi /etc/sysconfig/iptables #编辑防火墙配置文件

    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    -A INPUT -p tcp -m tcp --dport 3360 -j ACCEPT

    保存退出

     service iptables restart 重启防火墙

    7、关闭SELINUX
    vi /etc/selinux/config
    #SELINUX=enforcing #注释掉
    SELINUX=disabled #增加

    保存退出

    setenforce 0 #使配置立即生效

    二、PHP编译安装

    1、下载php压缩包

    http://php.net/get/php-5.4.41.tar.gz/from/a/mirror

    2、解压

    tar xzvf php-5.4.41.tar.gz

    3、编译安装

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-openssl --with-pear=/usr/share/php --enable-ftp --enable-zip --with-bz2 --with-zlib --with-libxml-dir=/usr --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-iconv --enable-mbstring --disable-ipv6 --enable-inline-optimization  --enable-static --enable-sockets --enable-soap --with-mhash --with-pcre-regex --with-mcrypt --with-curl --with-mysql --with-mysqli --with-pdo_mysql

    make && make install

    4、配置

    进入php配置目录

    cd  /usr/local/php/etc

    cp php.ini-development php.ini

    cp php-fpm.conf.default php-fpm.conf

    #编辑php-fpm配置文件(简单配置一下)

    vi /usr/local/php/etc/php-fpm.conf

    user = nobody #设置php-fpm运行账号为nobody
    group = nobody #设置php-fpm运行组为nobody

    pid = run/php-fpm.pid #取消前面的分号

    :wq! #保存退出

    #编辑php.ini配置文件(简单配置一下,更多配置请参考官方说明)

    vi /usr/local/php/etc/php.ini

    找到:;date.timezone =
    修改为:date.timezone = PRC #设置时区

    找到:expose_php = On
    修改为:expose_php = Off #禁止显示php版本的信息

    找到:short_open_tag = Off
    修改为:short_open_tag = ON #支持php短标签

    找到opcache.enable=0
    修改为opcache.enable=1 #php支持opcode缓存

    找到:opcache.enable_cli=1 #php支持opcode缓存
    修改为:opcache.enable_cli=0

    在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能


    :wq! #保存退出

    5、启动php-fpm

    执行 /usr/local/php/sbin/php-fpm

    6、设置php-fpm开机启动

    cp  phpsrc/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
    chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
    chkconfig php-fpm on #设置开机启动

    7、php-fpm进程管理
    /usr/local/php/sbin/php-fpm  #启动php-fpm


    INT, TERM 立刻终止
    QUIT 平滑终止
    USR1 重新打开日志文件
    USR2 平滑重载所有worker进程并重新载入配置和二进制模块

    kill -INT `cat /usr/local/php/var/run/php-fpm.pid`(进程号)
    kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

    php.ini-development

    8、配置nginx支持php

    vi /usr/local/nginx/conf/nginx.conf

    修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改

    user nobody nobody; #首行user去掉注释,修改Nginx运行组为nobody nobody;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错

    index index.html index.htm index.php; #添加index.php

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    #

    location ~ .php$ {

    root html;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    }

    #取消FastCGI server部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

    重启nginx

    /usr/local/nginx/bin/nginx -s reload

    三、Mysql安装

    mysql的安装方式有2种,一种是编译安装,一种是直接下载编译好的压缩包进行安装

    这里采用官方编译好的方式进行安装

    1、下载mysql

    wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

    2、解压,将其解压在/usr/local/mysql目录下

    tar xzvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

    3、创建mysql用户组

    shell> groupadd mysql
    shell> useradd -g mysql -s /bin/false mysql

    4、进入mysql解压后的目录,安装mysql

    cd /usr/local/mysql

    进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
    scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    mysql5.7.6以上版本请用如下命令安装

    shell> bin/mysql_install_db --user=mysql    # Before MySQL 5.7.6
    shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
    shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up

    记住安装后的命令行提示的mysql密码

    --复制my.cnf配置文件

    cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

    注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

    修改/usr/local/mysql权限
    chown -R mysql:mysql /usr/local/mysql

    5、启动MySQL
     添加服务,拷贝服务脚本到init.d目录,并设置开机启动
    cp support-files/mysql.server /etc/init.d/mysql

    chmod +x mysql
    chkconfig mysql on
    service mysql start  --启动MySQL

    6、修改mysql密码
    ./mysqladmin -p旧密码 password 新密码;

    7、修改远程访问权限(这里以root为例)

    grant all privileges on *.* to 'root'@'%' identified by '123456';
    flush privileges;

  • 相关阅读:
    JavaScript框架设计 一、种子模块
    一、微服务架构概述(spring cloud与docker学习)
    C++之socket编程
    原定于6日的维护延期
    网站将于8月5日或6日进行维护
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
    JAVA日报
  • 原文地址:https://www.cnblogs.com/coolworld/p/5284703.html
Copyright © 2020-2023  润新知