CentOS 6.3安装配置nginx+php+mysql
准备篇
1.配置防火墙,开启80端口、3306端口
1vim/etc/sysconfig/iptables
2-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT #允许80端口通过防火墙
3-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT#允许3306端口通过防火墙
serviceiptablesrestart #重启防火墙,使配置生效
2.关闭SELINUX(这个和服务器安全相关,先关闭。相关介绍:https://wiki.centos.org/zh/HowTos/SELinux)
vim/etc/selinux/config #SELINUX=enforcing#注释掉 #SELINUXTYPE=targeted#注释掉 SELINUX=disabled#增加 :wq#保存退出 shutdown-rnow#重启系统
3.安装第三方源
1)安装EPEL仓库
yuminstall-yepel-release
如果以上命令不起作用:
CentOS/RHEL7
rpm-Uvhhttp://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
CentOS/RHEL6
rpm-Uvhhttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
2)安装IUS仓库
CentOS6
rpm-Uvhhttps://centos6.iuscommunity.org/ius-release.rpm
CentOS7
rpm-Uvhhttps://centos7.iuscommunity.org/ius-release.rpm
错误处理:
1.安装IUS仓库出错:curl:(35)SSLconnecterror。这个问题在RHEL6.1->RHEL6.4应该都会出现,原因是curl使用了RESTAPI。解决:
yumupdatenss
2.结果问题1没解决,出另一个问题:Error:Cannotretrievemetalinkforrepository:epel.Pleaseverifyitspathandtryagain。解决:
vim/etc/yum.repos.d/CentOS-Base.repo
把有mirrorlist的都注释掉,有baseurl的都去掉注释,然后再进行步骤1,再安装IUS仓库。修改如下:
[epel] name=ExtraPackagesforEnterpriseLinux6-$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=ExtraPackagesforEnterpriseLinux6-$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=ExtraPackagesforEnterpriseLinux6-$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
查看仓库列表,看看是否安装成功了:
yumrepolist
ius|2.3kB00:00 ius/primary_db|183kB00:00 repoidreponamestatus baseCentOS-6-Base5,062 epelExtraPackagesforEnterpriseLinux6-i3869,992 extrasCentOS-6-Extras39 iusIUSCommunityPackagesforEnterpriseLinux6-i386329 updatesCentOS-6-Updates382 repolist:15,804
安装仓库成功。接下来安装nginx,mysql,php。
安装篇
查看即将要安装的软件的版本:
yumlistnginxmysqlphp
结果:
[root@localhost~]#yumlistnginxmysqlphp Loadedplugins:fastestmirror,security Loadingmirrorspeedsfromcachedhostfile *base:mirrors.163.com *extras:mirrors.163.com *ius:hkg.mirror.rackspace.com *updates:mirrors.163.com AvailablePackages mysql.i6865.1.73-7.el6base nginx.i6861.10.1-1.el6epel php.i6865.3.3-48.el6_8updates
mysql和php的版本都有些旧,他们都来源于mirrors.163.com这个源。而epel和ius源的软件版本一般比较新。
使用以下命令列出所有mysql和php的版本:
yumlistmysql*php*
这会列出一大堆像这样的结果,接下来只要选择需要安装的软件版本就好:
软件名字软件版本#软件所在仓库
php56u.i6865.6.26-1.ius.centos6ius mysql55.i6865.5.52-1.ius.centos6ius 安装nginx yumremovehttpd*php*#删除系统自带的软件包 yuminstallnginx#安装nginx根据提示输入y进行安装 chkconfignginxon#设置nginx开机启动 servicenginxstart#启动nginx 安装MySQL yumremovemysql*#删除系统已经安装的mysql yumlistmysql*#列出mysql所有版本,找到要安装的版本的名字 yuminstallmysql57u*#我安装的是mysql5.7.15。输入Y即可自动安装,直到安装完成 servicemysqldstart#启动MySQL chkconfigmysqldon#设为开机启动
安装PHP
yuminstallphp56u-fpmphp56u-mbstringphp56u-bcmathphp56u-mcryptphp56u-xmlrpcphp56u-pdophp56u-xmlphp56u-xmlrpcphp56u-mysqlndphp56u-gdphp56u-opcache#安装php5.6及扩展 chkconfigphp-fpmon#设置php-fpm开机启动 servicephp-fpmstart#启动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文件就行了。以下是我的配置:
# #Thedefaultserver # server{ listen80; server_namen.com; root/usr/share/nginx/html; indexindex.phpindex.html; #Loadconfigurationfilesforthedefaultserverblock. location/{ try_files$uri$uri//index.php?$args; } location~.*\.(php)?${ expires-1s; try_files$uri=404; fastcgi_split_path_info^(.+\.php)(/.+)$; includefastcgi_params; fastcgi_paramPATH_INFO$fastcgi_path_info; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; fastcgi_pass127.0.0.1:9000; } error_page404/404.html; location=/40x.html{ } error_page500502503504/50x.html; location=/50x.html{ } }
重启nginx:
servicenginxrestart
在/usr/share/nginx/html/这个目录下新建一个index.php
cd/usr/share/nginx/html#进入html目录 vimindex.php#新建index.php,加上phpinfo();
浏览器访问:centos的ip地址/index.php。完成!