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. requests---发送post请求完成登录

    前段时间写过一个通过cookies完成登录,今天我们写一篇通过post发送请求完成登录豆瓣网 模拟登录 1.首先找到豆瓣网的登录接口 打开豆瓣网站的登录接口,请求错误的账号密码,通过F12或者抓包工具 ...

  2. 无序数组中用 快速排序的分治思想 寻找第k大元素

    #include <stdio.h> int *ga; int galen; void print_a(){ ; i < galen; i++){ printf("%d & ...

  3. Redis缓存策略

    常用策略有“求留余数法”和“一致性HASH算法” redis存储的是key,value键值对 一.求留余数法 使用HASH表数据长度对HASHCODE求余数,余数作为索引,使用该余数,直接设置或访问缓 ...

  4. vue中的router和route有什么区别?

    我只知道前者一般用在跳转路由的时候,push一个url, 而后者则用来存储路由跳转过程中存储的各种数据. 话不多说,这篇博客讲的比较详细,可以参考一下. vue2.0中的$router 和 $rout ...

  5. multer 文件后缀名

    我的代码是这样写的. var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uplo ...

  6. NORDIC超低功耗蓝牙4.0 NRF51822QFAA和NRF51802QFAA

    51822-QFAA和51802-QFAA在FLASH RAM的容量没有差别, 两者都是出自NORDIC原厂,: 区别在于: 1.接收灵敏度 51802是-91dBm;51822是-93dBm,这个差 ...

  7. 【shell命令】$#、$*、$n分别表示的含义

    $#.$*.$n分别表示的含义 1.[$0] 表示当前脚本的文件名: 2.[$n] 表示传递给脚本的第n个参数值(n为1~9): 3.[$*] 表示传递给脚本的所有参数(不包括脚本名称的参数): 4. ...

  8. MSM8909中LK阶段LCM屏适配与显示流程分析(一)

    1.前言 在驱动开发中,我们往往需要适配一些新的屏幕或者调试一些屏幕的参数等,对于Qualcomm的MSM8909这款SoC,当启动Android系统时,会有一个LK阶段,该阶段用来启动Linux内核 ...

  9. HBuilder webApp开发(七)微信/QQ/新浪/腾讯微博分享

    链接 https://blog.csdn.net/zhuming3834/article/details/51706256

  10. Knative 应用在阿里云容器服务上的最佳实践

    作者|元毅 阿里云智能事业群高级开发工程师 相信通过前面几个章节的内容,大家对 Knative 有了初步的体感,那么在云原生时代如何在云上玩转 Knative?本篇内容就给你带来了 Knative 应 ...