CentOS 7系统YUM快速安装LNMP环境教程

源码编译安装 LNMP 环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待。如果能在 10 分钟后内搞定环境安装,再好不多了。

那么如何在 10 分钟内快速安装完 LNMP 环境呢,答案是 使用 YUM 安装。

什么 YUM ?

官网给出的解释

yum is a software package manager that installs, updates, and removes packages on RPM-based systems. It automatically computes dependencies and figures out what things should occur to install packages. yum makes it easier to maintain groups of machines without having to manually update each one using rpm.

Features include:

Support for multiple repositories
Simple configuration
Dependency calculation
Fast operation
RPM-consistent behavior
Package group support, including multiple-repository groups
Simple interface
其中有两条解释很明显,Simple configuration —— 简单配置,Fast operation —— 快速操作。

配置安装

基于 YUM 的这种特性,那么就可以简单粗暴的安装 LNMP 环境了。

 

配置 YUM 源

CentOS 7 的 默认 YUM 源里的软件包版本可能不是最新的,如果要安装最新的软件包就得配置下 YUM 源。

配置 YUM 源可以通过直接安装 RPM (Red Hat Package Manager) 包,或者修改 Repository,本文讲解通过安装 RPM 方式。

首先需要安装 EPEL ( Extra Packages for Enterprise Linux ) YUM 源,用以解决部分依赖包不存在的问题:

yum install -y epel-release
接着是 MySQL YUM  源,MySQL 官网给出了配置教程,因为本文章讲解的是 CentOS 7,我们只需要安装对应的 RPM 包就行了。

安装 RPM 包前需要导入 RPM-GPG-KEY 文件,不然安装过程会出错。

将 MySQL RPM-GPG-KEY 另存为 mysql_pubkey.asc 并导入 :

rpm --import mysql_pubkey.asc
导入后安装 CentOS 7 的 MySQL RPM 包:

rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
然后是 PHP YUM 源,PHP 最新的 RPM 包,可以使用 Remi's RPM repository。

导入 PHP RPM-GPG-KEY (remi):

rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi
安装 PHP RPM (remi) 包:

rpm -Uvh http://remi.mirrors.arminco.com/enterprise/remi-release-7.rpm
最后是 Nginx YUM 源,Nginx 官网也给出了配置教程。

导入 Nginx RPM-GPG-KEY:

rpm --import http://nginx.org/packages/keys/nginx_signing.key
安装 Nginx RPM 包:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
到目前为止,YUM 源已经安装好了 ,接着进行下一步的配置。

MySQL YUM 源默认是启用的 MySQL-5.6,PHP YUM 源默认都没有启用,Nginx YUM 源默认是启用的 Nginx-1.8。

定位到 /etc/yum.repos.d/,对 后缀为 .repo 的文件进行编辑,修改 enabled 为 1 以启用。

启用  PHP-7.0 :

1、修改 /etc/yum.repos.d/remi.repo,将 [remi] 和 [remi-test] 下面的 enabled=0 改为 enabled=1;

2、修改 /etc/yum.repos.d/remi-php70.repo,将 [remi-php70] 下面的 enabled=0 改为 enabled=1;

sed -i "/remi\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
sed -i "/test\/mirror/{n;n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi.repo
sed -i "/php70\/mirror/{n;s/enabled=0/enabled=1/g}" /etc/yum.repos.d/remi-php70.repo
到这一步 YUM 配置就算完成了,清除并生成 YUM 缓存使之生效:

yum clean all
yum makecache
 

安装 MySQL + PHP + Nginx + phpMyAdmin

YUM 源已经配置好了,现在直接安装 MySQL + PHP + Nginx + phpMyAdmin:

yum install -y mysql-community-server nginx php php-bcmath php-fpm php-gd php-json php-mbstring php-mcrypt php-mysqlnd php-opcache php-pdo php-pdo_dblib php-pgsql php-recode php-snmp php-soap php-xml php-pecl-zip phpMyAdmin
注:上面安装的 php-* 可以根据实际使用情况选择安装

安装完成后,进行下一步的环境配置,MySQL 配置文件在 /etc/my.cnf.d/,PHP 配置文件在 /etc/php-fpm.d/,Nginx 配置文件在 /etc/nginx/ ,phpMyAdmin 的配置文件在 /etc/phpMyAdmin/。

 

配置 MySQL

MySQL 配置文件保持默认,运行一次安全配置即可。

启动 MySQL:

systemctl start mysqld.service
安全配置 MySQL:

设置 root 密码、删除匿名用户、禁止 root 远程登录、删除 test 数据库、重新加载权限表,一路 Y 下去

mysql_secure_installation
 

配置 PHP

PHP 默认配置文件使用的是监听 9000 端口进行通信,针对小型单一、没有做负债均衡的服务器,可以使用 unix sock 方式通信。

使用 unix sock 方式需要修改 PHP 配置文件:

#更换监听方式
listen = /dev/shm/php-fpm-default.sock

#监听队列最大长度为不限
listen.backlog = -1
#指定监听用户和用户组(需存在)
listen.owner = www
listen.group = www
启动 PHP-FPM:

systemctl start php-fpm.service
 

配置 Nginx

让服务器默认访问显示为 400 提示页。

#新建名为 nginx-default.conf 的配置文件
touch /etc/nginx/conf.d/nginx-default.conf
#编辑配置文件
vi /etc/nginx/conf.d/nginx-default.conf
将以下信息输入到 nginx-default.conf

server
{
    listen 80 default;
    return 400;
}
按下 Esc,输入 :x 保存并退出。

防火墙放行 HTTP 端口访问:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
启动 Nginx:

systemctl start nginx.service
这时,在浏览器地址栏输入当前服务器 IP 就会看到一个 400 的提示页面了。

进阶!绑定域名+站点目录+保存日志+运行 PHP的配置文件:

server
{
    listen 80; #监听80端口
    server_name default.com www.default.com; #绑定域名 default.com 和 www.default.com
    index index.html index.htm index.php; #设置首页文件,越前优先级越高
    charset utf-8; #设置网页编码

    root  /home/wwwroot/default; #设置站点根目录

    #运行 PHP
    location ~ .*\.php$
    {
        fastcgi_pass  127.0.0.1:9000 #默认使用9000端口和PHP通信
        #fastcgi_pass  unix:/dev/shm/php-fpm-default.sock; #使用 unix sock 和PHP通信
        fastcgi_index index.php;
        fastcgi_param DOCUMENT_ROOT  /home/wwwroot/default; #PHP 文档根目录
        fastcgi_param SCRIPT_FILENAME  /home/wwwroot/default$fastcgi_script_name; #PHP 脚本目录
        include fastcgi_params;
        try_files $uri = 404;
    }

    #设置文件过期时间
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
    {
        expires      30d;
    }

    #设置文件过期时间
    location ~ .*\.(js|css)$
    {
        expires      12h;
    }

    #设置文件访问权限
    location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
        allow 127.0.0.1;
        deny all;
    }

    #设置文件访问权限
    location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
        deny all;
    }

    #保存日志
    access_log /var/log/nginx/default-access.log main;
    error_log /var/log/nginx/default-error.log crit;
}
 

配置 phpMyAdmin

# 编辑配置文件
vi etc/phpMyAdmin/config.inc.php
修改以下内容:

$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['UploadDir'] = '/tmp';
$cfg['SaveDir'] = '/tmp';
如果Nginx使用的是上面的进阶代码,那么把 phpMyAdmin 的目录 复制到 /home/wwwroot/default/phpMyAdmin/ 下面,就可通过 http://default.com/phpMyAdmin 访问了:

#复制 phpMyAdmin 目录
cp -a /usr/share/phpMyAdmin /home/wwwroot/default/

#替换连接形式为目录
rm -rf /home/wwwroot/default/phpMyAdmin/doc/html
cp -a /usr/share/doc/phpMyAdmin-<span class="pl-k">*</span>/html /home/wwwroot/default/phpMyAdmin/doc/
一键脚本

上面已经讲解了如何配置和安装,但是不能每次都这么一步一步来吧?为了节省时间,麦葱写了一个一键安装管理脚本,可选择安装 Nginx 1.8/1.9、 MySQL 5.5/5.6/5.7 和 PHP 5.5/5.6/7.0。

安装

yum install -y unzip

wget https://github.com/maicong/LNMP/archive/master.zip

unzip master.zip

cd LNMP-master

bash lnmp.sh

# 输出到指定文件
# bash lnmp.sh 2>&1 | tee lnmp.log
管理站点

service vhost (start,stop,list,add,edit,del,exit) <domain> <server_name> <index_name> <rewrite_file> <host_subdirectory>
start 启动
stop 停止
list 列出
add 添加
edit 编辑
del 删除
exit 什么都不做
<domain>: 配置名称,例如:domain
<server_name>: 域名列表,例如:domain.com,www.domain.com
<index_name>: 首页文件,例如:index.html,index.htm,index.php
<rewrite_file>: 伪静态规则文件,保存在 /etc/nginx/rewrite/ 例如:nomal.conf
<host_subdirectory>: 是否支持子目录绑定,on 或者 off
示例:

#添加一个标识为 domain 的站点
service vhost add domain domain.com,www.domain.com index.html,index.htm,index.php nomal.conf on

#启动标识为 domain 的站点
service vhost start domain

#停止标识为 domain 的站点
service vhost stop domain

#编辑标识为 domain 的站点
service vhost edit domain

#删除标识为 domain 的站点
service vhost del domain

#列出所有站点
service vhost list
备份数据

 service vbackup (start,list,del) <delete name.tar.gz>
start 添加
list 列出
del 删除
示例:

#添加一个新的备份
service vbackup start

#列出备份文件
service vbackup list

#删除一个备份
service vbackup del name.tar.gz

时间: 2025-01-23 12:11:46

CentOS 7系统YUM快速安装LNMP环境教程的相关文章

CentOS 5系统中编译安装LNMP的步骤详解

# 手动安装lnmp 包含 libiconv libunwind gperftools libmcrypt mhash mcrypt libpng freetype jpeg gd pcre libmemcached php_memcached(memcached.so)  eaccelerator ZendOptimizer mysql5.5 php5.3 nginx1.2.7 memcached tokyocabinet tokyotyrant #路径 程序存放      /data/ser

centos 7系统下编译安装 mysql5.7教程_Mysql

一.安装约定      mysql安装路径: /usr/local/mysql      mysql数据库路径: /data/mysql      my配置文件路径: /usr/local/mysql/my.cnf 二.卸载mariadb # rpm -qa | grep mariadb # rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64 包名是上一条查询得知 三.创建用户组.用户      添加mysql组 groupadd mysql  

Centos中使用Shell脚本一键安装LNMP环境

由于Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则,稳定性,静态文件处理,内存消耗等方面表现了很强的优势.因此公司线上和测试环境的WEB服务大多数采用的是LNMP环境,经常要进行LNMP环境的搭建,下面是用SHELL脚本写的一键安装LNMP环境的脚本. 1)系统环境介绍 Centos 5.8 64位 (已测试) Nginx: nginx-1.4.1.tar.gz PHP:   php-5.3.27.tar.gz Mysql: mysql-5.6.5-m

腾讯云主机安装LNMP环境及wordpress教程_Linux

许多云主机都有学生优惠,于是我趁着现在大一买了个腾讯1元云主机+免费cn域名(高中生的话就别想了).鉴于我只知道用服务器安装博客,别的用途不了解,所以我就去安装wordpress. 而由于我看的教程有点问题,有的问题搜索引擎解决不了,我要么瞎折腾整好了,要么重装系统,最后一次挺顺利,半小时左右装好,但后续还有各种问题,一个个解决掉了.于是记录下来方便后(面要搭博客的)人.我参考的教程阿里云Centos7安装LNMP环境和wordpress(有点坑,但还是不错的). LNMP=Linux+Ngin

自动安装lnmp环境的脚本

#!/bin/bash #Authors are from JC #From the region BeiJing-China #Contact:285221465@qq.com # Source function library. . /etc/rc.d/init.d/functions cd $shell shell=/shell/script if [ -d /shell/script ];then action "shell安装目录已存在:" /bin/true else mk

PHP环境安装套件:快速安装LAMP环境

LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件: Linux,操作系统: Apache,网页服务器: MySQL,数据库管理系统(或者数据库服务器): PHP 和有時 Perl 或 Python,脚本语言. 虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆绑了 这些软件).当一起使用的时候,它们表现的像一个具有活力的解决方案包. 其他的方案包有苹果的 WebObjects(最初是应用

跪求大神-centos下 openstack yum无法安装dashboard

问题描述 centos下 openstack yum无法安装dashboard 报错Error: Package: python-django-openstack-auth-1.1.2-1.el6.noarch (openstack-havana) Requires: Django14Error: Package: python-django-appconf-0.5-3.el6.noarch (openstack-havana) Requires: Django14Error: Package:

CentOS安装LNMP环境与VSFTP服务配置

Nginx 的支持高并发, 强大的负载均衡, 低资源消耗 使它成为了 Linux web 服务端的首选, 尤其对于小内存的 VPS, 这点更为明显, 使它完胜 Apache. 下面就介绍 LNMP 的安装.1. 准备工作   修改登录密码 : <<Linux 修改用户密码>>  修改时区及时间: <<修改 Linux 系统时区与时间>> 关闭多余 tty 通道  代码如下 复制代码 vi /etc/init/start-ttys.conf 找到tty[1-6

学习centos之快速搭建LNMP环境

以前在centos下安装软件都是喜欢源码安装,不过昨天因为一个事情需要一个centos 下的LNMP环境.反倒不会搞了,今天特意记录下,以备后续使用. 一.安装nginx 我们先来安装nginx,如下: yum -y install nginx 通过上图,我们可以看到目前的yum源中是没有nginx软件包的.我们需要安装包含nginx的yum源,如下: rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-ce