CentOS 是 RHEL (Red Hat Enterprise Linux) 的免费版,因为红帽的大力推广,在国内外非常流行。由于众多企业和开发者使用,首先要求的是保证稳定,因此 CentOS 下的软件从不追求最新版本。php
而不少时候咱们不得不用到最新的版本进行一些操做,本文就介绍在 CentOS / RHEL 7.x 下使用 EPEL 以及官网仓库安装最新版本的 LEMPhtml
本文全部操做均在 root
用户下进行,请自行切换至 root
用户mysql
首先,在开始以前,须要关闭 SELinux,编辑 /etc/sysconfig/selinux
文件,设置参数 SELINUX=disabled
而后 reboot
重启机器linux
EPEL 指的是 Extra Packages for Enterprise Linux,由 Fedora 社区维护,专门给 RHEL 系的操做系统使用,而且相对于 CentOS 默认的仓库,更新比较快。nginx
Remi 是基于 EPEL 的针对 PHP 打包的仓库,更新也很及时。sql
若是系统没有精简,自带 Extras 仓库,那么只要运行这个命令便可:数据库
yum install epel-release
不少 VPS 商家的系统都是精简的,因此咱们能够直接安装:ubuntu
yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
而后安装 Remi 的仓库vim
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
接着更新一下系统而且安装一些必要的软件centos
yum update yum install curl vim wget sudo unzip yum-utils
安装 Nginx 有两种方式, EPEL 已自带社区打包好的 Nginx ,截至目前版本是 1.10.2 更新不算快,可是够用,安装很简单,直接运行如下命令:
yum install nginx
还有一种方式是用 Nginx 官方的仓库,首先导入 Nginx 的 key
rpm --import http://nginx.org/keys/nginx_signing.key
而后新建 /etc/yum.repos.d/nginx.repo
cat >> /etc/yum.repos.d/nginx.repo << EOF [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/\$basearch/ gpgcheck=1 enabled=1 EOF
若是是 RHEL ,把文件里的的 centos
改为 rhel
便可,接着就是安装 Nginx:
yum install nginx
Remi 一直在维护 PHP 的大多数流行版本,从 PHP 5.4 到最新的 PHP 7.1,咱们可使用官网的这个小工具来挑选本身须要的版本,下面以 PHP 7.0.x 为例
指定 PHP 包的版本
yum-config-manager --enable remi-php70
更新系统
yum update
安装一些基本的能支持 WordPress 的 PHP 包:
yum install php-fpm php-mysql php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc php-zip
修改一下 /etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php.ini
Nginx 参考配置文件 /etc/nginx/conf.d/example.com.conf
server { listen 80; listen [::]:80; # 指定网站目录,可根据本身状况更换,建议放在 /var/www 目录下 root /var/www/example.com; index index.php index.html index.htm; # 默认第一个域名,替换 example.com 为您的域名 server_name example.com; location / { try_files $uri $uri/ =404; } # 开启 PHP7.0-fpm 模式 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
而后重启 PHP 和 Nginx
systemctl restart php-fpm systemctl restart nginx
再次安利你们用 Percona Server 代替 MySQL 或 Mariadb
按照官网的教程,直接增长官网的仓库
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
而后安装
yum install Percona-Server-server-57
根据他们本身的说法,为了安全考虑,安装过程当中是不须要你输入 MySQL root 密码的,咱们直接启动 MySQL:
systemctl start mysql
而后 root 密码就会放在日志里了
[root@centos ~]# cat /var/log/mysqld.log | grep "temporary password" 2017-05-06T07:10:33.891810Z 1 [Note] A temporary password is generated for root@localhost: #Q?raSTwT1qu
这里 #Q?raSTwT1qu
就是他随机给你生成的 MySQL root 密码,接下来就能够经过 MySQL 语法的命令进行一系列数据库操做了,这里再也不重复,详细能够参考《Debian 8.x “jessie” 使用 Dotdeb 安装最新版本 LEMP / LNMP》和《Ubuntu Server 16.04.x (Xenial Xerus) 安装 LEMP / LNMP 教程》