其他综合-CentOS 7 使用二进制包搭建lnmp平台
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. 检查配置文件是否正常(出现 ok
和 successful
即为正确 )
/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. 设置 mysql
的 root
密码
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. 临时关闭 selinux
和 firewalld
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平台的更多相关文章
- CentOS下Web服务器环境搭建LNMP一键安装包
CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...
- 源码搭建lnmp平台
lnmp平台是指利用linux操作系统,nginx服务器,mysql数据库和php语言搭建高性能web服务器,负载均衡器和邮件代理服务器. 原理图:‘
- centos安装nodejs二进制包
1.下载nodejs的二进制包 wget https://nodejs.org/dist/v6.3.1/node-v6.3.1-linux-x64.tar.xz 2.解压下载的安装包 tar xf n ...
- CentOS 7.0源码包搭建LNMP方法分享(实际环境下)
CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...
- centos mysql5.7 二进制包安装
此种方式安装非常简单 cd /usr/local 下载安装包wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux- ...
- 搭建LNMP环境(CentOS 6)
本文档介绍如何使用一台普通配置的云服务器ECS实例搭建LNMP平台的web环境. Linux:自由和开放源码的类UNIX操作系统. Nginx:轻量级网页服务器.反向代理服务器. MySQL:关系型数 ...
- 源码搭建LNMP
源码安装LNMP 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...
- kubernetes实践之一:kubernetes二进制包安装
kubernetes二进制部署 1.环境规划 软件 版本 Linux操作系统 CentOS Linux release 7.6.1810 (Core) Kubernetes 1.9 Docker 18 ...
- MySQL5.7单实例二进制包安装方法
MySQL5.7单实例二进制包安装方法 一.环境 OS: CentOS release 6.9 (Final)MySQL: mysql-5.7.20-linux-glibc2.12-x86_64.ta ...
随机推荐
- ARM 寻址方式
寻址方式有 9种 1.寄存器 2.立即数 3.寄存器位移 4.寄存器间接 5.基址 6.多寄存器 7.堆栈 8.块拷贝 9.相对 1. MOV R1,R2 R1 = R2 2. MOV R0,#0x1 ...
- 单臂路由和VLAN-IF
前几日有同学在韩老师的会员群里面提了这样一个问题: 有个问题搞半天没弄明白,我在核心交换机上划分了几个vlan,其中一个端口与防火墙相连,防火墙配置为192.168.100.1/30,核心交换机上连接 ...
- 让人又爱又恨的this
this是个神奇的东西, 既可以帮助我们把模拟的类实例化. 又可以在事件绑定里准确指向触发元素. 还可以帮助我们在对象方法中操作对象的其他属性或方法. 甚至可以在使用apply.call.bing.f ...
- Python 链表(linked list)
链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点组成,结点可以在运行时动态生成 优点 由于不必须按顺序存储,链表在插入.删除的时候 ...
- MongoTemplate 分组分页复合条件查询
一.前言 最近项目使用MongoDB作为数据主要存取的地方 又是第一次接触MongoDB,也是踩了不少坑... 维护数据无非就是增删改查,而里面最复杂的就是查询了 所以来总结一下有关MongoDB的查 ...
- Node.js 获取本机Mac地址
首先我们要先加载一个包用于获取mac地址 npm install getmac 加载完毕会在node_modules文件夹下发现一个getmac文件夹,我们把对应的路径加载到程序中 源码如下: var ...
- Paper | Noise2Noise: Learning Image Restoration without Clean Data
目录 故事背景 算法原理 点估计 神经网络算法与点估计的关系 核心思想 回头品味 实验 高斯 其他生成噪声 发表在2018 ICML. 摘要 We apply basic statistical re ...
- mysql不是内部或外部命令--windows环境下报错的解决
安装Mysql后,当我们在cmd中敲入mysql时会出现‘Mysql’不是内部或外部命令,也不是可运行的程序或其处理文件. 处理: 我的电脑右键属性>高级系统设置>高级>环境变量&g ...
- playtime-浙大羽协裁判部训练方案[随机事件序列的应用]
首先随机一列人名 然后按比例随机一列事件项. 然后将不确定项的人名更正为“某人”[比如发球违例,,,你怎么知道谁在发球] 最后定义一个初始化. 初始化呢,就是挑边. 球权还是场权? 发球还是接发? 谁 ...
- python Condition
import threading # 必须要使用condition的例子 # class XiaoAi(threading.Thread):# def __init__(self, lock):# s ...