优选主流主机商
任何主机均需规范使用

CentOS 6.3 详细教程:一步步安装配置 Nginx、PHP 和 MySQL 完整指南

准备篇

1.配置防火墙,开启80端口、3306端口

1 vim /etc/sysconfig/iptables
2 -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT   #允许80端口通过防火墙
3 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙

service iptables restart    #重启防火墙,使配置生效

2.关闭SELINUX(这个和服务器安全相关,先关闭。相关介绍:https://wiki.centos.org/zh/HowTos/SELinux)

?

1 2 3 4 5 6 vim /etc/selinux/config #SELINUX=enforcing   #注释掉 #SELINUXTYPE=targeted  #注释掉 SELINUX=disabled    #增加 :wq           #保存退出  shutdown -r now     #重启系统

3.安装第三方源

1)安装EPEL仓库

yum install -y epel-release

如果以上命令不起作用:

CentOS/RHEL 7

rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

CentOS/RHEL 6

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

2)安装IUS仓库

CentOS 6

rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm

CentOS 7

rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm

错误处理:

1.安装IUS仓库出错:curl: (35) SSL connect error。这个问题在RHEL 6.1 -> RHEL 6.4应该都会出现,原因是curl使用了REST API。解决:

yum update nss

2.结果问题1没解决,出另一个问题:Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again。解决:

vim /etc/yum.repos.d/CentOS-Base.repo

把有mirrorlist的都注释掉,有baseurl的都去掉注释,然后再进行步骤1,再安装IUS仓库。修改如下:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 [epel] name=Extra Packages for Enterprise Linux 6 - $basearch baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6   [epel-debuginfo] name=Extra Packages for Enterprise Linux 6 - $basearch - Debug baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 gpgcheck=1   [epel-source] name=Extra Packages for Enterprise Linux 6 - $basearch - Source baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS #mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 gpgcheck=1

查看仓库列表,看看是否安装成功了:

yum repolist

?

1 2 3 4 5 6 7 8 9 ius                                                                             | 2.3 kB   00:00   ius /primary_db                                                                       | 183 kB   00:00   repo id                             repo name                                                  status base                              CentOS-6 - Base                                               5,062 epel                              Extra Packages for Enterprise Linux 6 - i386                                 9,992 extras                             CentOS-6 - Extras                                                39 ius                               IUS Community Packages for Enterprise Linux 6 - i386                              329 updates                             CentOS-6 - Updates                                               382 repolist: 15,804

安装仓库成功。接下来安装nginx,mysql,php。

安装篇

查看即将要安装的软件的版本:

yum list nginx mysql php

结果:

?

1 2 3 4 5 6 7 8 9 10 11 [root@localhost ~] # yum list nginx mysql php Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.163.com * ius: hkg.mirror.rackspace.com * updates: mirrors.163.com Available Packages     mysql.i686 5.1.73-7.el6 base nginx.i686 1.10.1-1.el6 epel php.i686 5.3.3-48.el6_8 updates

mysql和php的版本都有些旧,他们都来源于mirrors.163.com这个源。而epel和ius源的软件版本一般比较新。

使用以下命令列出所有mysql和php的版本:

yum list mysql* php*

这会列出一大堆像这样的结果,接下来只要选择需要安装的软件版本就好:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 软件名字                软件版本                            #软件所在仓库<br> php56u.i686            5.6.26-1.ius.centos6                  ius mysql55.i686           5.5.52-1.ius.centos6                  ius 安装nginx yum remove httpd* php* #删除系统自带的软件包 yum install nginx    #安装nginx 根据提示输入y进行安装 chkconfig nginx on    #设置nginx开机启动 service nginx start  #启动nginx 安装MySQL yum remove mysql*    #删除系统已经安装的mysql yum list mysql*    #列出mysql所有版本,找到要安装的版本的名字 yum install mysql57u* #我安装的是mysql5.7.15。输入Y即可自动安装,直到安装完成 service mysqld start  #启动MySQL chkconfig mysqld on   #设为开机启动

安装PHP

?

1 2 3 4 yum install php56u-fpm php56u-mbstring php56u-bcmath php56u-mcrypt php56u-xmlrpc php56u-pdo php56u-xml php56u-xmlrpc php56u-mysqlnd php56u-gd php56u-opcache     #安装php5.6及扩展   chkconfig php-fpm on  #设置php-fpm开机启动 service php-fpm start   #启动php-fpm

配置篇

nginx的配置文件是/etc/nginx下的nginx.conf。在nginx.conf文件的最后一行可以看到: include /etc/nginx/conf.d/*.conf; 它把 /etc/nginx/conf.d目录下后缀为.conf的文件都包含进来了,所以只要在/etc/nginx/conf.d/这个目录下配置一个.conf文件就行了。以下是我的配置:

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 # # The default server #   server {    listen    80;    server_name n.com;    root     /usr/share/nginx/html;    index index.php index.html;      # Load configuration files for the default server block.      location / {    try_files $uri $uri/ /index.php?$args;    }      location ~ .*\.(php)?$ {      expires -1s;      try_files $uri =404;      fastcgi_split_path_info ^(.+\.php)(/.+)$;      include fastcgi_params;      fastcgi_param PATH_INFO $fastcgi_path_info;      fastcgi_index index.php;      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;      fastcgi_pass 127.0.0.1:9000;    }    error_page 404 /404.html;      location = /40x.html {    }      error_page 500 502 503 504 /50x.html;      location = /50x.html {    }   }

重启nginx:

service nginx restart

在/usr/share/nginx/html/这个目录下新建一个index.php

?

1 2 cd /usr/share/nginx/html    #进入html目录 vim index.php         #新建index.php,加上phpinfo();

浏览器访问:centos的ip地址/index.php。完成!

 

未经允许不得转载:搬瓦工中文网 » CentOS 6.3 详细教程:一步步安装配置 Nginx、PHP 和 MySQL 完整指南