CentOS7.2 上 Nginx PHP Mariadb 环境搭建

发布时间:2024-12-31 点击:41
建站服务器
最近有个erp php-web 測試頁面環境部署需求,需要部署nginx php的cgi socket的模式、mysql环境。查看服务端口是否起来,我们习惯使用netstat指令查看,所以如果你的系统里尚未安装netstat,可直接安裝 yum install -y net-tools即可
实验环境:
linux版本:centos 7.2
nginx版本:nginx-1.10.1
php版本:php-5.6.5
mysql版本:mariadb-5.5.52
一、首先部署nginx
把相關依賴包安裝完畢
openssl-devel 、zlib-devel 、pcre-devel
程序默认是使用 nobody 身份运行的,我们使用 nginx 用户来运行,首先添加nginx组和用户,不创建家目录,不允许登陆系统
#groupaddnginx#useradd-m-s/sbin/nologin-gnginxnginx
安裝nginx採取的是nginx-1.10.1.tar.gz
#tarxfnginx-1.10.1.tar.gz#cdnginx-1.10.1指定安装目錄和運行时用的属主和属组,並啟用狀態監控模塊等
#./configure\\\\--prefix=/usr/local/nginx\\\\--pid-path=/usr/local/nginx/logs/nginx.pid\\\\--lock-path=/var/lock/nginx.lock\\\\--user=nginx\\\\--group=nginx\\\\--with-http_ssl_module\\\\--with-http_flv_module\\\\--with-http_stub_status_module\\\\--with-http_gzip_static_module\\\\--http-client-body-temp-path=/var/tmp/nginx/client/\\\\--http-proxy-temp-path=/var/tmp/nginx/proxy/\\\\--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\\\\--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi\\\\--http-scgi-temp-path=/var/tmp/nginx/scgi\\\\--with-pcre
大致的配置结果
configurationsummary usingsystempcrelibrary usingsystemopenssllibrary md5:usingopenssllibrary sha1:usingopenssllibrary usingsystemzliblibrarynginxpathprefix:/usr/local/nginxnginxbinaryfile:/usr/local/nginx/sbin/nginxnginxmodulespath:/usr/local/nginx/modulesnginxconfigurationprefix:/usr/local/nginx/confnginxconfigurationfile:/usr/local/nginx/conf/nginx.confnginxpidfile:/var/run/nginx/nginx.pidnginxerrorlogfile:/usr/local/nginx/logs/error.lognginxhttpaccesslogfile:/usr/local/nginx/logs/access.lognginxhttpclientrequestbodytemporaryfiles:/var/tmp/nginx/client/nginxhttpproxytemporaryfiles:/var/tmp/nginx/proxy/nginxhttpfastcgitemporaryfiles:/var/tmp/nginx/fcgi/nginxhttpuwsgitemporaryfiles:/var/tmp/nginx/uwsginginxhttpscgitemporaryfiles:/var/tmp/nginx/scgi
上述配置完,就進行編譯安裝
#make&&makeinstall#mkdir/var/tmp/nginx/client/-pv
等编译安装完成后在 /usr/local 下就会出现 nginx 这个目录了,进入这个目录后发现目录非常简单。
它的配置文件存放在 conf 目录中,网页文件存放在 html 中,日志文件存放在 logs 中,
sbin 目录下只有一个可执行程序 nginx
二、部署php環境
a. fastcgi是一个可伸缩地、高速地在http server和动态脚本语言间通信的接口
b. nginx是个轻量级的http server,必须借助第三方的fastcgi处理器才可以对php进行解析
c. php-fpm是一个第三方的fastcgi进程管理器,它是作为php的一个补丁来开发的,在安装的时候也需要和php源码一起编译,
也就是说php-fpm被编译到php内核中,因此在处理性能方面更加优秀;同时它在处理高并发方面也比spawn-fcgi引擎好很多,
因此,推荐nginx php/php-fpm这个组合对php进行解析。
首先安裝php的一些依賴包
yuminstall-ygccgcc-c libxml2libxml2-develautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-develzlibzlib-develglibcglibc-develglib2glib2-devel
然後解壓下載好的tar包
#tar-xvzfphp-5.6.5.tar.gz
進入到解壓後的php-5.6.5中
#cdphp-5.6.5#./configure--prefix=/usr/local/php–enable-fpm–enable-mbstring–with-mysql=mysqlnd–with-mysqli=mysqlnd–with-pdo-mysql=mysqlnd#make&&makeinstall
查看php版本
#php-vphp5.6.5(cli)(built:jan10201703:53:13)copyright(c)1997-2014thephpgroupzendenginev2.6.0,copyright(c)1998-2014zendtechnologies如果不行,則直接在php的執行文件做個軟鏈接到/usr/bin/php或者复制一份至/usr/bin/下面即可查看php版本啦
#ln-s/usr/local/php/bin/php/usr/bin/php或者
#cp-raf/usr/local/php/bin/php/usr/bin/php
php的配置文件php.ini,复制一份安装目录下的php.ini-development这个配置文件模板到php的目录
#cp-rafphp-5.6.5/php.ini-development/usr/local/php/lib/php.ini
当然,我们还需要配置一下php-fpm,在安装php的时候,已经为我们生成了一个配置模板了,在 /usr/local/php/etc/php-fpm.conf.default了,所以只要复制这个模板并改名为php-fpm.conf就可以了,进去把 daemonize改成yes,以后台服务的运行方式启动。然后捏,whereis php-fpm,
这个是个可执行文件,直接执行php-fpm就可以运行了,然后netstat -an| grep php-fpm,看到,果然9000号端口在监听啦
#cp-raf/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf#whereisphp-fpm配置与优化php-fpm
php的全局配置文件是php.ini,在上面的步骤中,已经将此文件复制到了/usr/local/php/lib/php.ini下。可以根据每个应用需求的不同,对php.ini进行相应的配置。
下面重点介绍php-fpm引擎的配置文件。
根据上面指定的安装路径,php-fpm的默认配置文件为/usr/local/php/etc/php-fpm.conf。
php-fpm.conf是一个xml格式的纯文本文件,其内容很容易看明白。这里重点介绍几个重要的配置标签:
标签listen_address是配置fastcgi进程监听的ip地址以及端口,默认是127.0.0.1:9000,端口可更改
<valuename=listen_address>127.0.0.1:9000</value>
标签display_errors用来设置是否显示php错误信息,默认是0,

网站解析和绑定都正常今天发现无法打开了
postgreSQL中not exists语句错误的问题
注册一个什么域名好?有什么选择域名标准?
腾讯企业邮箱如何直达企业微信,了解一下?
客服那能访问我这里不能访问
WP设备市场报告:Lumia630系列占据12%
阿里云备案用其他服务器吗
服务器的云服务怎么购买