centos7.2 安装lnmp环境 (非集成)

发表于2017/7/13 22:20:12 42人阅读


关于PHP-fpm

Nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是PHP请求,则发给PHP解释器处理,并把结果返回给客户端。

Nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被Nginx。

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。

PHP在 5.3.3 之后已经讲PHP-fpm写入PHP源码核心了。所以已经不需要另外下载了。

获取PHP下载地址

为什么选择5.6.30这个版本,因为学习,不是研究。诚然,7.0新增了很多PHP的新特性,性能上面也有些提升,如果是研究,倒是可以折腾一番,后面得空再讲7.0的版本以及如何在各个PHP版本之间切换。

打开PHP的官网:http://PHP.net/,查看PHP的版本列表

右击,复制链接地址,在远程主机登录,下载该软件(我选的是Australia的主机mirror下载的)

#wgethttp://au1.PHP.net/get/PHP-5.6.30.tar.gz/from/this/mirror

下载下来的是一个mirror文件,改成我们需要的文件名

#mvmirror PHP-5.6.30.tar.gz

#tarzxvf PHP-5.6.30.tar#cd PHP-5.6.30

安装libxml2相关组件

#yuminstalllibxml2

#yuminstalllibxml2-devel -y

安装curl相关组件

#yuminstallcurl curl-devel

安装libpng相关组件

libpng

#yuminstalllibpng-devel

安装freetype相关组件

#yuminstallfreetype-devel

安装libxslt相关组件

#yuminstalllibxslt-devel

#yum install openssl openssl-devel

#ln -s /usr/lib64/libssl.so /usr/lib/

配置安装

进入到目录,我们需要在安装的时候将安装目录配置到/usr/local/PHP/里

#./configure --prefix=/usr/local/PHP --with-curl --with-freetype-dir--with-gd --with-gettext --with-iconv-dir--with-kerberos --with-libdir=lib64 --with-libxml-dir--with-MysqL --with-MysqLi --with-openssl --with-pcre-regex --with-pdo-MysqL --with-pdo-sqlite --with-pear --with-png-dir--with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

好的,当我们看到下面这句话的时候,说明你的PHP已经配置完成啦!

接下来我们只需要编译安装即可完成PHP的安装

#make&&makeinstall

看到这句话,表明安装完成!

为了保险起见,我们make test一把,看看是否真的成功了。

配置相关

PHP.ini配置

首先我们需要配置的是PHP.ini这个文件

安装目录有2个文件:PHP.ini-development和PHP.ini-production

PHP.ini-production 线上版本使用

PHP.ini-development 开发版本使用

我们选择development进行配置

#cpPHP.ini-development /usr/local/PHP/lib/PHP.ini

PHP-fpm配置

拷贝PHP-fpm配置文件

#cp-R ./sapi/fpm/PHP-fpm.conf /usr/local/PHP/etc/PHP-fpm.conf

拷贝启用文件

#cp-R ./sapi/fpm/PHP-fpm /etc/init.d/PHP-fpm(已弃用,详细的见注1)

启动

/usr/local/PHP/sbin/PHP-fpm

查看PHP是否启动成功

#psaux |grepPHP

看到这些,表明你的PHP已经启动成功啦!

重启及关闭

#kill-9进程号

配置Nginx支持PHP

vi /usr/local/Nginx/conf/Nginx.conf

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;

}

源码编译Nginx

yum -y installgccgcc-c++pcre-develzlibzlib-devel

cd /usr/src/

wgetftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

tar zxvf pcre-8.39.tar.gz

wget http://zlib.net/zlib-1.2.11.tar.gz

tar zxvf zlib-1.2.11.tar.gz

第二步:下载Nginx并解压

wget http://Nginx.org/download/Nginx-1.11.13.tar.gz

tar -zxvf ./Nginx-1.11.13.tar.gz

cd Nginx-1.11.13


第三步:

./configure --prefix=/usr/local/Nginx/ --with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.11

第四步make && make install

Nginx启动方式

/usr/local/Nginx/sbin/Nginx

安装MysqL

检测MysqL是否卸载干净

rpm-aq|grep-iMysqL

MysqL安装

1.先下载MysqL的repo源;相关命令:

wgethttp://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.安装MysqL-community-release-el7-5.noarch.rpm包

(安装这个包后,会获得两个MysqL的yum repo源:/etc/yum.repos.d/MysqL-community.repo,/etc/yum.repos.d/MysqL-community-source.repo)

rpm -ivh MysqL-community-release-el7-5.noarch.rpm

3.安装MysqL

sudo yum install MysqL-server

重启服务:

systemctl restart MysqL.service

修改数据库登录密码:

use MysqL;

update user set password=password('root') where user='root';

设置外部连接权限,密码

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

更新:flush privileges;

centos7.2 安装lnmp环境 非集成的更多相关文章

  1. xcode – 为什么Jenkins在我的Mac上运行不会连接到本地的git repo?

    我正在尝试使用Jenkins实现自动化构建,用于我的iOS项目.我添加了Git插件,但是一旦我尝试将git的URL放在项目的git配置中,它会在下面的屏幕截图中显示错误.这里Jenkins不能从repo克隆到其工作空间.解决方法在大多数情况下,gitbarerepo有扩展名.git我的意思是(其他)/test1看起来不正确,我认为应该是(其他)/test1.git在我的mac上有同样的错误.

  2. 哪些Xcode项目文件可以从我的git repo中排除?

    我正在开发一个iOS项目,并使用git进行版本控制.我正在与另一位开发人员合作.我应该保留哪些Xcode项目文件在repo中,哪些可以排除,这样不会对其他开发者产生负面影响?这里有一些非代码文件,git告诉我已被修改或添加…

  3. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  4. Xcode 4:使用Git repo commit版本在每个构建上更新CFBundleVersion

    我正在将Xcode4与Git结合使用,并希望在每个版本的Info.plist中增加CFBundLeversion.密钥CFBundLeversion的值应更新为我对Git存储库的最后一次提交的数量.我发现thatpython脚本运行良好,但遗憾的是它没有更新我的Xcode项目中的Info.plist–它只是更新了“BUILT_PRODUCTS_DIR”中的Info.plist.有没有人知道如何让Xcode4获取最新提交的版本并将该信息放入项目的Info.plist中?

  5. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  6. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

  7. 如何使用“repo”克隆最小的android源码?

    我可以使用“repo”工具克隆Android源代码.但是,我想要做的是以比没有11GB足迹的更小的方式克隆源代码.它似乎下载了与每个Android设备和每个先前版本相关的内容.我试过想通过检查这样的特定分支来减少这个:然而,最终发生的事情是,我仍然只涉及一个特定的快照(可理解).但有没有办法限制克隆的数量?

  8. android – Gradle自定义存储库和依赖项解析

    我正在开发的项目需要scribe-java和crashlytics库.这两个库都可以从自定义存储库中获得.build.gradle看起来像:使用这样的设置存储库解决方案在构建过程中变得混乱,以至于gradle尝试从不适当的存储库中解析工件:它试图从scribe存储库中检索crashlytics文件.解决方法按声明的顺序搜索存储库,直到找到依赖关系.如果在scribe存储库中搜索crashlytics库,则意味着在crashlytics存储库中找不到它.

  9. 暂停和恢复Android Repo Sync

    reposync解决方法你不能真正暂停一个repo同步,但是如果你使用Ctrl-C中止它然后再运行它,它将有效地从它停止的地方继续.虽然它将从头开始再次通过项目列表,并且可能仍然为已经处理的项目获取一些新数据,但它应该通过这些项目,因为它之前获取的所有数据仍将存在在隐藏的.repo目录中.有关repoinit和reposync工作方式的精彩描述,请参见thisanswer.请注意,您不会立即看到任何已提取的项目,因为在完成克隆.repo/projects中的所有git存储库之前,reposync不会创建并

  10. android – 从AOSP master切换到froyo

    我刚用回购检查了主人.现在我想切换到froyo.如果不再下载一堆东西我怎么能这样做?我不想再次下载一堆东西,我只是希望能够在分支之间自由移动,就像在普通的gitclone中一样.解决方法由于您使用repo下载了所有内容,因此您可以轻松地使用repo在分支之间切换而无需再次下载所有内容:repoinit-bfroyo;回购同步这将只下载切换分支所需的文件,就像使用git在分支之间移动一样.

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部