CentOS 7 使用二进制包搭建lnmp平台

1、实验描述

通过二进制搭建 lnmp 平台,实现 web 环境基本部署

2、实验环境

虚拟机:

  • 系统:CenOS 7.6
  • 内存:2 G+
  • 数量:1台

VMware:15

3、实验工具

【Lnmp】【014-lnmp软件包】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:pjps 】

4、实验步骤

4.1 上传软件包

1. 准备

mkdir -p /server/tools

cd /server/tools

yum install -y lrzsz &>/dev/null

echo $?

2. 上传

ls

rz

rz

rz

rz

ls -lh

4.2 搭建Nginx

1. 添加 Nginx 账户

useradd -s /sbin/nologin -M nginx 

2. 安装所需依赖包

yum install -y pcre pcre-devel  &>/dev/null
echo $?

yum install -y openssl openssl-devel &>/dev/null
echo $?

3. 解压其压缩包

tar xf /server/tools/nginx-1.16.0.tar.gz && cd nginx-1.16.0/ 

4. 开始编译、安装

mkdir -p /application

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.16.0 \
  --with-http_stub_status_module --with-http_ssl_module --with-pcre &>/dev/null
echo $?

make &>/dev/null && make install &>/dev/null
echo $?

5. 进行软连接

ln -s /application/nginx-1.16.0/ /application/nginx 

6. 创建 extra 目录,及站点目录 blog

mkdir -p /application/nginx/{conf/extra,html/blog}

7. 创建 01_blog.conf 配置文件

cat >/application/nginx/conf/extra/01_blog.conf <<EOF
server {
        listen       80;
        server_name  blog.etiantian.org;
        location / {
            root   html/blog;
            index  index.html index.htm;
        }
        location ~ .*\.(php|php5)?$ {
            root html/blog;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    }
EOF

cat /application/nginx/conf/extra/01_blog.conf

8. 修改 nginx 主配置文件

cat >/application/nginx/conf/nginx.conf <<EOF
worker_processes  1;
user nginx nginx;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
include extra/*.conf;
}
EOF

cat /application/nginx/conf/nginx.conf

9. 检查配置文件是否正常(出现 oksuccessful 即为正确 )

/application/nginx/sbin/nginx -t

10. 启动 Nginx

/application/nginx/sbin/nginx

netstat -lntup|grep 80

4.3 搭建Mysql

1. 添加 mysql 用户

useradd -s /sbin/nologin -M mysql 

2. 解压其压缩包

cd /server/tools &&\
  tar xf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz 

3. 将其移动并改名

mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql-5.7.26 

4. 进行软连接

ln -s /application/mysql-5.7.26/  /application/mysql 

5. 删除 mariadb-libs

rpm -e --nodeps mariadb-libs 

6. 安装 libaio-devel

yum install libaio-devel -y &>/dev/null
echo $?

7. 配置 etc/my.cnf 配置文件

cat >/etc/my.cnf <<EOF
[mysqld]
basedir = /application/mysql/
datadir = /application/mysql/data
socket = /tmp/mysql.sock
server_id = 1
port = 3306
log_error = /application/mysql/data/oldboy_mysql.err

[mysql]
socket = /tmp/mysql.sock
prompt = mine [\\\d]>
EOF

cat /etc/my.cnf

8. 创建 data 目录

mkdir -p /application/mysql/data 

9. 修改 data 目录属主属组

chown -R mysql.mysql /application/mysql/ 

10. 初始化 mysql

/application/mysql/bin/mysqld --initialize-insecure --user=mysql \
  --basedir=/application/mysql/ --datadir=/application/mysql/data 

11. 配置 mysqld.service

cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server by mine
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF

cat /etc/systemd/system/mysqld.service

12. 启动和设置开机自启动

systemctl start mysqld 

systemctl enable mysqld 

netstat -lntup|grep 3306

13. 使其可直接使用 mysql 进入数据库

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile 

tail -1 /etc/profile 

. /etc/profile 

14. 设置 mysqlroot 密码

mysqladmin -u root password 'mine@123'

15. 创建测试文件 test_mysql.php

cat  >/application/nginx/html/blog/test_mysql.php  <<EOF
<?php
//\$link_id=mysqli_connect('主机名','用户','密码');
        \$link_id=mysqli_connect('localhost','root','mine@123') or mysql_error
();
        if(\$link_id){
                echo "mysql successful by MineGi.\n";
        }else{
                echo mysql_error();
        }
?>
EOF

cat /application/nginx/html/blog/test_mysql.php

/application/nginx/sbin/nginx -s reload

4.4 搭建PHP

1.安装依赖包

yum install zlib-devel libxml2-devel libjpeg-devel \
  libjpeg-turbo-devel libiconv-devel -y &>/dev/null
echo $?  

yum install freetype-devel libpng-devel gd-devel \
  libcurl-devel libxslt-devel libxslt-devel -y &>/dev/null
echo $?

2. 解压其压缩包

cd /server/tools &&\
  tar xf libiconv-1.16.tar.gz && cd libiconv-1.16 

3. 进行编译、安装

./configure --prefix=/application/libiconv &>/dev/null

make &>/dev/null && make install &>/dev/null

4. 安装依赖包

yum install libmcrypt-devel mhash mcrypt -y &>/dev/null
echo $?

5. 解压其压缩包

cd /server/tools &&\
  tar xf php-7.3.5.tar.gz && cd php-7.3.5/ 

6. 进行编译、安装

./configure \
--prefix=/application/php-7.3.5 \
--enable-mysqlnd  \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/application/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no &>/dev/null

echo $?

make &>/dev/null && make install &>/dev/null
echo $?

7. 进行软连接

ln -s /application/php-7.3.5/ /application/php

8. 复制配置文件

cp /server/tools/php-7.3.5/php.ini-development \
  /application/php/lib/php.ini

cp /application/php/etc/php-fpm.conf.default \
  /application/php/etc/php-fpm.conf 

cp /application/php/etc/php-fpm.d/www.conf.default \
  /application/php/etc/php-fpm.d/www.conf  

9. 启动 PHP 服务

/application/php/sbin/php-fpm 

netstat -lntup|grep 9000

10. 创建 test_info.php 测试文件

cd

echo "<?php phpinfo(); ?>" > /application/nginx/html/blog/test_info.php

11. 临时关闭 selinuxfirewalld

setenforce 0

systemctl stop firewalld

12. 检验是否成功

1. 获取本机IP
ip a|awk -F '[ /]+' '$NF~/eth0/ {print $3}'

2. 浏览器访问
IP/test_info.php

IP/test_mysql.php

【本文图片下载地址】【012-二进制lnmp】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:xa16 】

今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!

其他综合-CentOS 7 使用二进制包搭建lnmp平台的更多相关文章

  1. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  2. 源码搭建lnmp平台

    lnmp平台是指利用linux操作系统,nginx服务器,mysql数据库和php语言搭建高性能web服务器,负载均衡器和邮件代理服务器. 原理图:‘

  3. centos安装nodejs二进制包

    1.下载nodejs的二进制包 wget https://nodejs.org/dist/v6.3.1/node-v6.3.1-linux-x64.tar.xz 2.解压下载的安装包 tar xf n ...

  4. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...

  5. centos mysql5.7 二进制包安装

    此种方式安装非常简单 cd /usr/local 下载安装包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux- ...

  6. 搭建LNMP环境(CentOS 6)

    本文档介绍如何使用一台普通配置的云服务器ECS实例搭建LNMP平台的web环境. Linux:自由和开放源码的类UNIX操作系统. Nginx:轻量级网页服务器.反向代理服务器. MySQL:关系型数 ...

  7. 源码搭建LNMP

      源码安装LNMP 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...

  8. kubernetes实践之一:kubernetes二进制包安装

    kubernetes二进制部署 1.环境规划 软件 版本 Linux操作系统 CentOS Linux release 7.6.1810 (Core) Kubernetes 1.9 Docker 18 ...

  9. MySQL5.7单实例二进制包安装方法

    MySQL5.7单实例二进制包安装方法 一.环境 OS: CentOS release 6.9 (Final)MySQL: mysql-5.7.20-linux-glibc2.12-x86_64.ta ...

随机推荐

  1. ARM 寻址方式

    寻址方式有 9种 1.寄存器 2.立即数 3.寄存器位移 4.寄存器间接 5.基址 6.多寄存器 7.堆栈 8.块拷贝 9.相对 1. MOV R1,R2 R1 = R2 2. MOV R0,#0x1 ...

  2. 单臂路由和VLAN-IF

    前几日有同学在韩老师的会员群里面提了这样一个问题: 有个问题搞半天没弄明白,我在核心交换机上划分了几个vlan,其中一个端口与防火墙相连,防火墙配置为192.168.100.1/30,核心交换机上连接 ...

  3. 让人又爱又恨的this

    this是个神奇的东西, 既可以帮助我们把模拟的类实例化. 又可以在事件绑定里准确指向触发元素. 还可以帮助我们在对象方法中操作对象的其他属性或方法. 甚至可以在使用apply.call.bing.f ...

  4. Python 链表(linked list)

    链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点组成,结点可以在运行时动态生成 优点 由于不必须按顺序存储,链表在插入.删除的时候 ...

  5. MongoTemplate 分组分页复合条件查询

    一.前言 最近项目使用MongoDB作为数据主要存取的地方 又是第一次接触MongoDB,也是踩了不少坑... 维护数据无非就是增删改查,而里面最复杂的就是查询了 所以来总结一下有关MongoDB的查 ...

  6. Node.js 获取本机Mac地址

    首先我们要先加载一个包用于获取mac地址 npm install getmac 加载完毕会在node_modules文件夹下发现一个getmac文件夹,我们把对应的路径加载到程序中 源码如下: var ...

  7. Paper | Noise2Noise: Learning Image Restoration without Clean Data

    目录 故事背景 算法原理 点估计 神经网络算法与点估计的关系 核心思想 回头品味 实验 高斯 其他生成噪声 发表在2018 ICML. 摘要 We apply basic statistical re ...

  8. mysql不是内部或外部命令--windows环境下报错的解决

    安装Mysql后,当我们在cmd中敲入mysql时会出现‘Mysql’不是内部或外部命令,也不是可运行的程序或其处理文件. 处理: 我的电脑右键属性>高级系统设置>高级>环境变量&g ...

  9. playtime-浙大羽协裁判部训练方案[随机事件序列的应用]

    首先随机一列人名 然后按比例随机一列事件项. 然后将不确定项的人名更正为“某人”[比如发球违例,,,你怎么知道谁在发球] 最后定义一个初始化. 初始化呢,就是挑边. 球权还是场权? 发球还是接发? 谁 ...

  10. python Condition

    import threading # 必须要使用condition的例子 # class XiaoAi(threading.Thread):# def __init__(self, lock):# s ...