分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

centos 7.2 搭建php运行环境

发布时间:2023-09-06 01:24责任编辑:蔡小小关键词:暂无标签

####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

 

wgethttp://nginx.org/download/nginx-1.12.0.tar.gz

 

tar-xvzf nginx-1.12.0.tar.gz

 

cdnginx-1.12.0/

 

]

 

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

 

 

sudo groupaddnginx

 

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为开机启动,如果用yuminstall命令安装的,yum命令会自动创建nginx.service文件,直接用命令systemcelenable 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

 

保存退出。

 


 

第二步:设置开机启动

 

systemctlenable nginx.service

 


 

第三步:其他命令:

 

启动nginx服务

 

Systemctlstart nginx.service

 

设置开机启动

 

Systemctlenable nginx.service

 

停止开机自启动

 

Systemctldisable nginx.service

 

查看服务当前状态:

 

Systemctlstatus nginx.service

 

重新启动服务:

 

Systemctlrestart nginx.service

 

查看所有已启动的服务:

 

Systemctllist-units --type=service

 


 

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

 


 

Centos7防火墙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/

 

wgethttp://cn2.php.net/distributions/php-7.0.2.tar.gz

 

#解压

 

tar-xzxvf php-7.0.2.tar.gz

 

cdphp-7.0.2

 

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

 

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

 

检查是否安装了libxml2-devel,没有的话执行yuminstall 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‘

 

 

 

出现报错 Cannotfind OpenSSL‘s <evp.h>

 

则执行 yuminstall openssl openssl-devel

 

 

 

出现报错 Pleasereinstall the libcurl distribution

 

则执行 yum-y install curl-devel

 

 

 

出现报错 jpeglib.hnot found

 

则执行 yuminstall libjpeg.x86_64 libpng.x86_64 freetype.x86_64libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y

 

和执行yuminstall libjpeg-devel

 

 

 

 

 

checkingfor BZip2 in default path... not found

 

configure:error: Please reinstall the BZip2 distribution

 

这是bzip2软件包没有安装

 

解决办法

 

yuminstall bzip2-devel.x86_64 -y

 

 

 

 

 

configure:error: xpm.h not found.

 

yuminstall libXpm-devel

 

 

 

error:Unable to locate gmp.h

 

Fix:yum install gmp-devel

 

 

 

现象:Unableto detect ICU prefix or /usr//bin/icu-config failed. Please verifyICU install

 

 prefixand make sure icu-config works

 

解决办法:yuminstall -y icu libicu libicu-devel

 

 

 

错误:mcrypt.hnot found. Please reinstall libmcrypt.

 

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

 

 

 

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

 

解决办法:yuminstall  postgresql-devel

 

 

 

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

 

解决: yuminstall libxslt-devel

 

 

 

配置的checking结束后,执行:

 

 

 

makeclean && make && make install

 

 

 

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

 

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

 

 

 

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

 

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

 

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

 

exportPATH

 

然后执行命令 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-fpmstart

 

 

 

 

 

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

 

则新建www-data用户组:

 

  1. groupaddwww-data

  2. useradd-g www-data www-data

 

然后再启动php-fpm

 

 

centos 7.2 搭建php运行环境

原文地址:http://www.cnblogs.com/huaerr/p/7821370.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved