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)
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
centos/rhel 6
rpm -uvh
2)安装ius仓库
centos 6
rpm -uvh
centos 7
rpm -uvh
错误处理:
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仓库。修改如下:
[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
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
结果:
[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*
这会列出一大堆像这样的结果,接下来只要选择需要安装的软件版本就好:
软件名字 软件版本 #软件所在仓库
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
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文件就行了。以下是我的配置:
# # 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
cd /usr/share/nginx/html #进入html目录 vim index.php #新建index.php,加上phpinfo();
浏览器访问:centos的ip地址/index.php。完成!