设为首页 收藏本站
查看: 907|回复: 0

[经验分享] centos 7.2 搭建php运行环境

[复制链接]

尚未签到

发表于 2017-11-15 11:47:50 | 显示全部楼层 |阅读模式
  ####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*  

[iyunv@localhost ~]# mysql

[iyunv@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用户组:



  • groupaddwww-data

  • useradd-g www-data www-data


然后再启动php-fpm



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407202-1-1.html 上篇帖子: centos 7.0 lnmp成功安装过程 下篇帖子: CentOS 6.5下Redmine的安装配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表