zoukankan      html  css  js  c++  java
  • centos 7.2 搭建php运行环境

    ####centos 7.2 通过源码编译安装nginx####

    第一步:安装编译所需工具。命令如下:

    sudo yum install gcc

     

     

    第二步:安装依赖包

     

    命令如下:

     

    sudo yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel

     

     

    • zlib: nginx提供gzip模块,需要zlib库支持,传输数据打包,省流量(但消耗资源)

    • openssl: nginx提供ssl功能

    • pcre: 为支持地址重写rewrite功能

     


     

    第三步:下载nginx-1.12.0.tar.gz

     

    http://nginx.org/en/download.html

     

    命令如下:[

     

    cd /usr/local/src

     

    wget http://nginx.org/download/nginx-1.12.0.tar.gz

     

    tar -xvzf nginx-1.12.0.tar.gz

     

    cd nginx-1.12.0/

     

    ]

     

    第四步:创建用来运行nginx的用户及组

     

     

    sudo groupadd nginx

     

    sudo useradd -g nginx -M nginx –s /sbin/nologin

     

     


     

    -g参数为nginx用户指定了一个组。-M参数保证其不自动生成home目录。

     


     

    第五步:编译源代码:

     

    先使用./configure –help 查看编译帮助:

     

    命令如下:

     

    ./configure

     

    --sbin-path=/usr/local/nginx/nginx

     

    --conf-path=/usr/local/nginx/nginx.conf

     

    --pid-path=/usr/local/nginx/nginx.pid

     

    --with-http_ssl_module

     

     


     

    第六步:执行make 完成安装

     


     

    编译好的nginx可以通过 /usr/local/nginx/nginx -V  (具体路径以安装的为主) 查看编译时候的参数

     

     

    Nginx+Center OS 7.2 开机启动设置

     

    centos 7以上是用Systemd进行系统初始化的,Systemd Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。

     



     

    Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令systemcel enable nginx.service设置开机启动即可。


     

    在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
    开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

     

    /lib/systemd/system/

     



     

    步骤如下:

     

    第一步:在系统服务目录里创建nginx.service文件

     

    vi /lib/systemd/system/nginx.service

     

    内容如下:

     

    [Unit]

     

    Description=nginx

     

    After=network.target

     


     

    [Service]

     

    Type=forking

     

    ExecStart=/usr/local/nginx/nginx

     

    ExecReload=/usr/local/nginx/nginx -s reload

     

    ExecStop=/usr/local/nginx/nginx -s quit

     

    PrivateTmp=true

     

    [Install]

     

    WantedBy=multi-user.target

     


     

    [Unit]:服务的说明
    Description:
    描述服务
    After:
    描述服务类别
    [Service]
    服务运行参数的设置
    Type=forking
    是后台运行的形式
    ExecStart
    为服务的具体运行命令
    ExecReload
    为重启命令
    ExecStop
    为停止命令
    PrivateTmp=True
    表示给服务分配独立的临时空间
    注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
    [Install]
    运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

     

    保存退出。

     


     

    第二步:设置开机启动

     

    systemctl enable nginx.service

     


     

    第三步:其他命令:

     

    启动nginx服务

     

    Systemctl start nginx.service

     

    设置开机启动

     

    Systemctl enable nginx.service

     

    停止开机自启动

     

    Systemctl disable nginx.service

     

    查看服务当前状态:

     

    Systemctl status nginx.service

     

    重新启动服务:

     

    Systemctl restart nginx.service

     

    查看所有已启动的服务:

     

    Systemctl list-units --type=service

     


     

    腾讯云主机需要开放安全组里的80端口

     


     

    Centos 7防火墙firewalld开放80端口

     

    命令如下:【

     

    firewall-cmd --zone=public --add-port=80/tcp --permanent

     

     


     


     

    centos7 安装 mariadb 的正确命令

     

    命令: yum -y install mariadb*  

     

    [root@localhost ~]# mysql 

     

    [root@localhost ~]# mysql_secure_installation  

     

    Centos7.2 编译安装PHP7

     

    直接下载PHP7.0.2的安装包解压,编译,安装:

     

    下载php7,并解压

     

    cd /usr/src/

     

    wget http://cn2.php.net/distributions/php-7.0.2.tar.gz

     

    #解压

     

    tar -xzxvf php-7.0.2.tar.gz

     

    cd php-7.0.2

     

    解压完后先不要编译,请检查是否安装了gcc ,没有的话执行yum install gcc

     

    检查是否安装了libxml2 ,没有的话执行yum install libxml2

     

    检查是否安装了libxml2-devel,没有的话执行yum install libxml2-devel

     

    注:因为改为用nginx了,所以编译参数中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安装PHP前,请先安装apache

     

     

     

    编译参数配置

     

    './configure' '--prefix=/usr/local/php' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring' '--with-libxml-dir=/usr' '--enable-soap' '--enable-calendar' '--with-curl' '--with-mcrypt' '--with-gd' '--with-pgsql' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-zlib' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-pcntl' '--enable-mbregex' '--enable-exif' '--enable-bcmath' '--with-mhash' '--enable-zip' '--with-pcre-regex' '--with-pdo-mysql' '--with-mysqli' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-openssl' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--with-libdir=/lib/x86_64-linux-gnu/' '--enable-ftp' '--with-gettext' '--with-xmlrpc' '--with-xsl' '--enable-opcache' '--enable-fpm' '--with-iconv' '--with-xpm-dir=/usr'

     

     

     

    出现报错 Cannot find OpenSSL's <evp.h>

     

    则执行 yum install openssl openssl-devel

     

     

     

    出现报错 Please reinstall the libcurl distribution

     

    则执行 yum -y install curl-devel

     

     

     

    出现报错 jpeglib.h not found

     

    则执行 yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y

     

    和执行yum install libjpeg-devel

     

     

     

     

     

    checking for BZip2 in default path... not found

     

    configure: error: Please reinstall the BZip2 distribution

     

    这是bzip2软件包没有安装

     

    解决办法

     

    yum install bzip2-devel.x86_64 -y

     

     

     

     

     

    configure: error: xpm.h not found.

     

    yum install libXpm-devel

     

     

     

    error: Unable to locate gmp.h

     

    Fix: yum install gmp-devel

     

     

     

    现象:Unable to detect ICU prefix or /usr//bin/icu-config failed. Please verify ICU install

     

     prefix and make sure icu-config works

     

    解决办法:yum install -y icu libicu libicu-devel

     

     

     

    错误:mcrypt.h not found. Please reinstall libmcrypt.

     

    解决办法:yum  install  php-mcrypt  libmcrypt  libmcrypt-devel

     

     

     

    错误: configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path

     

    解决办法:yum install  postgresql-devel

     

     

     

    错误 : configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

     

    解决: yum install libxslt-devel

     

     

     

    配置的checking 结束后,执行:

     

     

     

    make clean && make && make install

     

     

     

    安装完成后,我们要把源码包中的配置文件复制到PHP安装目录下,源码包中有两个配置  php.ini-development  php.ini-production  ,看名字就知道,一个是开发环境,一个是生产环境,我们这里就复制开发环境的

     

    cp php.ini-development /usr/local/php/lib/php.ini

     

     

     

    另外还需要设置环境变量 :

     

    修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

     

    PATH=$PATH:/usr/local/php/bin

     

    export PATH

     

    然后执行 命令 source /etc/profile

     

     

     

    php -v 就可以看到PHP版本信息了。

     

     

     

     

     

    此时还需要配置PHP-fpm:

     

    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

     

     

     

    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

     

     

     

    cp /usr/src/php-7.0.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

     

     

     

    chmod +x /etc/init.d/php-fpm

     

     

     

    启动php-fpm:

     

    /etc/init.d/php-fpm start

     

     

     

     

     

    如果出现错误:ERROR: [pool www] cannot get uid for user 'www-data'

     

    则新建www-data 用户组:

     

    1. groupadd www-data

    2. useradd -g www-data www-data

     

    然后再启动php-fpm

     

     

  • 相关阅读:
    关于ListView的注意点
    推荐一波 瀑布流的RecylceView
    RecycleView的简单应用
    Java Junit单元测试
    Java 2 个 List 集合数据求并、补集操作
    Java @Validated 遇到的大坑
    Java中的Validated验证
    使用一条sql语句查询多表的总数
    Java thymeleaf模板获取资源文件的内容
    Java热启动
  • 原文地址:https://www.cnblogs.com/huaerr/p/7821370.html
Copyright © 2011-2022 走看看