当前位置:

centOS7 安装PHP+MYSQL+NGINX

2015-2-5 10:32  作者:炉石    阅读:3346

  

由于Centos 7与老版本有着巨大的差别

所以各种软件包都无法沿用老版本的,所以若使用老版本的扩展yum源

就会导致yum出现严重错误,无法安装大量软件包

不过epel源已经支持了Centos 7,只要添加即可


修改yum源

1、运行下面的命令编辑yum源:

vi /etc/yum.repos.d/epel.repo
2、按i进入编辑模式,粘贴下面的代码:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
 
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
 
[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1
3、:wq保存退出

更新yum缓存
yum makecache

 


装好之后一定要yum -y update一下

yum install wget
运行  yum install net-tools  就OK了(解决centos7.0 没有netstat 和 ifconfig命令问题)
第一步:安装mysql5.0,并设置开机自动启动mysql

[root@localhost ~] yum  -y install mysql mysql-server

[root@localhost ~]# service mysqld  start

[root@localhost ~]# chkconfig   mysqld on

[root@localhost ~]# mysqladmin  -u   root   password  ******(密码)

[root@localhost ~]# netstat -alp|grep 'mysql'

tcp        0      0 *:mysql                     *:*                         LISTEN      2647/mysqld      

unix  2      [ ACC ]     STREAM     LISTENING     9262   2647/mysqld         /var/lib/mysql/mysql.sock

在centos7中 mysql已经被mariadb替代,安装方法如下:yum -y install mariadb*

systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

为root账户设置密码

mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!
MySql密码设置完成,重新启动 MySQL:
systemctl restart mariadb.service #重启MariaDB
 
管理mariadb:   mysql -uroot -p
1、开启远程连接功能:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '111111' WITH GRANT OPTION;
实质上就是创建并赋予权限给'root'@'%'用户
 
2、关闭远程连接功能,只需删除此用户即可
drop user 'root'@'%';

 第二步:安装Nginx

[root@localhost ~]# yum -y install nginx

[root@localhost ~]# chkconfig nginx on

[root@localhost ~]# service nginx start

[root@localhost ~]# netstat -lp|grep 'nginx'

tcp        0      0 *:irdmi                     *:*                         LISTEN      2722/nginx.conf  

第三步:安装PHP5

在使用FastCGI方式运行php的时候,如果我们改变了php.ini的设置,就得重新启动php的fastcgi守护程序。如果你的系统负载 比较大的话,这个重启过程或许会让你的系统中断服务一段时间。php-fpm就是为了解决这个问题而诞生的,它可以在php的fastcgi进程不中断的 情况下重新加载你改动过的php.ini。而且php-fpm可以不用再依赖其它的fastcgi启动器,比如lighttpd的spawn-fcgi,对于我来说终于可以摆脱lighttpd的影子了。

[root@localhost ~]# yum install  php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-snmp php-mcrypt php-mhash php-mbstring php-dba php-bcmath php-tidy php-ncurses php-jpgraph

#若提示:

......省略

Error: Missing Dependency: libt1.so.5 is needed by package php-gd-5.2.17-20.el5.i386 (CentALT)

 You could try using --skip-broken to work around the problem

 You could try running: package-cleanup --problems

                        package-cleanup --dupes

                        rpm -Va --nofiles --nodigest

The program package-cleanup is found in the yum-utils package.

则执行yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy  --skip-broken

vi /etc/php.ini  #在行末添加cgi.fix_pathinfo = 1

chkconfig --levels 235 php-fpm on   #加入启动项

service php-fpm start   #启动

修改nginx配置文件,添加fastcgi支持

vi /etc/nginx/nginx.conf

#添加以下

        location ~ \.php$ {

            root           /usr/share/nginx/html;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;

            include        fastcgi_params;

保存退出即可

启动nginx

/etc/init.d/nginx restart

运行探针

cd /usr/share/nginx/html

vi index.php

#添加以下代码

<?php phpinfo(); ?>