CentOS6.5 下升级PHP7、MysqL5.7

PHP7出了有一段时间了,最近家里的机器及自己的虚拟机都升级到了PHP7。准备以后新的东西全部都用PHP7来写了。最近想把阿里云的也升级到PHP7,然后就开始升级了,以下是一些升级过程。当然也遇到了一些问题,本尊辣么聪明肯定都解决了呀Y(^_^)Y。

安装最新的Nginx

不通过源码包安装使用yum

使用yum源安装比较好管理,就是样。

修改yum 源

进入/etc/yum.repos.d/目录创建一个Nginx.repo 文件

cd/etc/yum.repos.d/

vimNginx.repo

写入源内容

[Nginx]
name=Nginxrepo
baseurl=http://Nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

更新yum源

yum update

使用yum 安装Nginx

yum install Nginx -y

安装好之后看看版本

[root@localhost] # Nginx -v
Nginx version: Nginx/1.10.1

打开Nginx自启动

chkconfig Nginx on

安装MysqL 5.7

MysqL5.7 听说很强大,大家都说它是一个里程碑... 具体我也不懂...

更新及安装MysqL的yum 源

官网下载源码包

wget http://dev.MysqL.com/get/MysqL57-community-release-el6-7.noarch.rpm

rpm 安装MysqL的yum源

rpm-UvhMysqL57-community-release-el6-7.noarch.rpm

打开 MysqL-community.repo 看关于MysqL的内空,确定MysqL57的enable是打开的

vim/etc/yum.repos.d/MysqL-community.repo

安装MysqL服务

执行安装MySQL命令

yuminstallMysqL-community-server

注意版本号!

完成后启动服务

serviceMysqLdstart

启动后,查看安装后自动生成的密码

grep"password"/var/log/MysqLd.log

第一行root@localhost: u6erhYQNju&P 这个就是数据库的root密码了

修改初始化密码

执行命令:

MysqL_secure_installation

登录验证

MysqL的配制文件默认在 /etc/my.cnf

更多文档请请问官方网站: Installing MySQL on Linux Using the MySQL Yum Repository

打开MysqL自启动

chkconfig MysqLd on

安装PHP7.0

处理有PHP 及 PHP扩展:

如果之前已经安装过PHP的话

yum remove PHP* PHP-common

安装PHP7的yum源

与上面安装Nginx、MysqL的方式一样,先更新yum源然后再安装yum源

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

修改yum源

vi /etc/yum.repos.d/remi.repo


将[remi]段中的enabled=0改为enabled=1

vim /etc/yum.repos.d/remi-PHP70.repo


与remi.repo类似,将[remi-PHP70]段中的enabled=0改为enabled=1。

扫行命令查看版本如果显示的是7.x的话 那就没问题,当然也可以直接使用yum install PHP70 进行安装

[root@localhost tmp]# yum list PHP

yum 安装PHP7

执行命令以下命令安装PHP及一些相当的扩展:

yum install PHP PHP-fpm PHP-cli PHP-pdo PHP-MysqL PHP-gd PHP-bcmath PHP-xml PHP-mbstring PHP-mcrypt PHP-redis

安装好之后PHP -v,PHP -m 查看版本及安装的扩展

PHP的PHP.ini配制一般在/etc/PHP.ini

简单的修改一些配制:

vim /etc/PHP.ini

date.timezone = Asia/Shanghai
upload_max_filesize = 20M
post_max_size = 20M
display_errors = Off // 生产环境半掉就好了

# 使HTTP Header中不显示PHP信息把
expose_PHP = On 
修改为
expose_PHP = Off

重启PHP: service PHP-fpm restart

打开PHP自启动

chkconfig PHP-fpm on

配置Nginx与PHP

安装好Nginx之后,Nginx默认的网站根目录应该是在/usr/share/Nginx/html/

虚拟主机的配制在 /etc/Nginx/conf.d 如果要配制新的域名在这里就可以了。

默认有一个default.conf的配制,如果不需要的话可以删除。

创建一个新的配制

比如我创建一个 photo.lattecake.com 的网站;

/etc/Nginx/conf.d/ 创建文件photo.lattecake.com.conf 内容如下

server {
    listen       80;
    server_name  photo.lattecake.com;

    client_max_body_size 10m;

    root /home/dudulu/website/com-lattecake-photo/web;

    access_log  /var/log/Nginx/photo.lattecake.com.access.log  main;
    error_log /var/log/Nginx/photo.lattecake.com.error.log;

    location / {
        try_files $uri /app.PHP$is_args$args;
        index  index.html index.htm index.PHP app.PHP;
    }

    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/Nginx/html;
    }

    location ~ ^/(app_dev|config)\.PHP(/|$) {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  app.PHP;
        fastcgi_split_path_info ^(.+\.PHP)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        include        fastcgi_params;
    }

    location ~ ^/app\.PHP(/|$) {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  app.PHP;
        fastcgi_split_path_info ^(.+\.PHP)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        include        fastcgi_params;
        internal;
    }
}

因为我一般使用symfony框架写东西,所以我就按symfony的标准配制了。如果不是请参考其他资料。

创建日志文件及分组

touch /var/log/Nginx/photo.lattecake.com.ccess.log
chown -R Nginx.Nginx /var/log/Nginx/photo.lattecake.com.ccess.log

安装composer

官网下载composer包就好了

安装composer

PHP -r "copy('https://getcomposer.org/installer','composer-setup.PHP');"

PHP -r "if (hash_file('SHA384','composer-setup.PHP') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.PHP'); } echo PHP_EOL;"

PHP composer-setup.PHP --install-dir=/usr/bin --filename=composer

PHP -r "unlink('composer-setup.PHP');"

测试composer

执行composer -v 看看,如果有显示它的相关选项那就表示安装成功了!

设置国空镜像

有两种方式启用本镜像服务:

  • 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中

  • 单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中

修改 composer 的全局配置文件

控制台(Linux、Mac 用户)并执行如下命令:

composer config -g repo.packagist composer https://packagist.PHPcomposer.com

修改当前项目的 composer.json 配置文件

进入你的项目,找到composer.json文件并打开,添加以下信息:

"repositories": {
    "packagist": {
        "type": "composer","url": "https://packagist.PHPcomposer.com"
    }
}

OK,一切搞定!试一下 composer install 来体验飞一般的速度吧!

本文地址: http://lattecake.com/post/20088

CentOS6.5 下升级php7、mysql5.7的更多相关文章

  1. 关于h5中的fetch方法解读(小结)

    这篇文章主要介绍了关于h5中的fetch方法解读(小结),fetch身为H5中的一个新对象,他的诞生,是为了取代ajax的存在而出现,有兴趣的可以了解一下

  2. iOS – 友好的NSDate格式

    我需要在我的应用程序中显示帖子的日期给用户,现在我用这种格式:“5月25日星期五”.如何格式化NSDate以阅读“2小时前”的内容?使其更加用户友好.解决方法NSDateFormatter不能做这样的事情;你将需要建立自己的规则.我想像:所以这是打印’x分钟前’或’x小时前’从日期起24小时,通常是一天.

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

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

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

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

  5. 如何在iOS 10上设置日志级别?

    换句话说,如果我在iOS上运行的代码就像这样:那么在Console.app中看到记录的消息需要做些什么呢?

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

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

  7. 为什么Xcode 8(iOS 10)在控制台中打印[LogMessageLogging]

    为什么Xcode8打印[LogMessageLogging]在控制台中,当我调用地图视图时?任何人都可以提出一些建议吗?解决方法PrivacyTheunifiedloggingsystemconsidersdynamicstringsandcomplexdynamicobjectstobeprivate,anddoesnotcollectthemautomatically.Toensuretheprivacyofusers,itisrecommendedthatlogmessagesconsiststri

  8. 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中?

  9. ios – 在Swift 4中为os_log传递可变参数

    我正在尝试为Swift4/iOS11中的os_log编写一个方便的包装器,但是我已经遇到了传递可变参数的艰难战斗.基本上,我想编写一个如下所示的函数.不幸的是,我似乎无法弄清楚传递参数的神奇语法,并且在CVararg讨论的泥潭中有点迷失.(…这让我想念Python的splatting语法)解决方法我还没有找到解决方案,所以这个愚蠢的黑客:

  10. xcode – osx上的config.log是什么?它在哪里?

    任何人都可以解释’configure’是什么和做什么,一般可以找到config.log文件?

随机推荐

  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架构–可能与问题有关!

返回
顶部