CentOS 是 RHEL (Red Hat Enterprise Linux) 的免费版,由于红帽的大力推广,在国内外很是流行。因为众多企业和开发者使用,首先要求的是保证稳定,所以 CentOS 下的软件从不追求最新版本。
而很多时候我们不得不用到最新的版本进行一些操作,本文就介绍在 CentOS / RHEL 7.x 下使用 EPEL 以及官网仓库安装最新版本的 LEMP
本文所有操作均在 root
用户下进行,请自行切换至 root
用户
首先,在开始之前,需要关闭 SELinux,编辑 /etc/sysconfig/selinux
文件,设置参数 SELINUX=disabled
然后 reboot
重启机器
1、增加 EPEL 和 Remi 仓库
EPEL 指的是 Extra Packages for Enterprise Linux,由 Fedora 社区维护,专门给 RHEL 系的操作系统使用,并且相对于 CentOS 默认的仓库,更新比较快。
Remi 是基于 EPEL 的针对 PHP 打包的仓库,更新也很及时。
如果系统没有精简,自带 Extras 仓库,那么只要运行这个命令即可:
yum install epel-release
很多 VPS 商家的系统都是精简的,所以我们可以直接安装:
yum install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
然后安装 Remi 的仓库
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
接着更新一下系统并且安装一些必要的软件
yum update
yum install curl vim wget sudo unzip yum-utils
2、安装 Nginx
安装 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
3、安装 PHP 7.0.x
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
4、安装 MySQL
再次安利大家用 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 教程》
原文链接 《CentOS / RHEL 7.x 使用 EPEL 安装最新版本 LEMP / LNMP》