当前位置: 首页 > article >正文

分布式安装LNMP

目录

搭建LNMP架构

安装mysql

1.上传mysql软件包,关闭防火墙和核心防护

2.安装环境依赖包,桌面安装可能有自带的数据库除

3.配置软件模块

4.编译及安装

5.创建mysql用户

6.修改mysql 配置文件

7.更改mysql安装目录和配置文件的属主属组

8.设置路径环境变量

9.初始化数据库

10.添加mysqld系统服务

11.修改mysql 的登录密码

12.授权远程登录

安装nginx

1.上传nginx软件包,关闭防火墙和核心防护

2.安装环境依赖包

3.创建运行用户、组

4.配置软件模块

5.安装编译

6.让系统识别nginx的操作命令

7.设置syetemctl管理服务

安装php

1.上传php软件包,关闭防火墙和核心防护

2.安装GD库和GD库关联程序,用来处理和生成图片

3.配置软件模块

4.编译安装

5、路径优化

6、调整PHP配置文件

7、启动php-fpmcd /opt/php-7.1.10/sapi/fpm

8、配置 Nginx 支持 PHP 解析(nginx机器)

9、共享nginx网页目录

在LNMP架构下安装论坛


准备三台虚拟机分别用来安装nginx,mysql和php

搭建LNMP架构

安装mysql
1.上传mysql软件包,关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装环境依赖包,桌面安装可能有自带的数据库除

删除mariadb数据库
yum remove mariadb* -y
安装依赖环境
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake openssl-devel

3.配置软件模块

先解压软件包
tar -xf  mysql-boost-5.7.44.tar.gz

配置软件模块
cd mysql-5.7.44
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

4.编译及安装

make -j 2 && make install

5.创建mysql用户

useradd -M -s /sbin/nologin  mysql

6.修改mysql 配置文件

vim /etc/my.cnf    

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysql]
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8mb4
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=4096
default-storage-engine=INNODB
max_allowed_packet=32M
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

7.更改mysql安装目录和配置文件的属主属组

useradd -M -s /sbin/nologin mysql

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

8.设置路径环境变量

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile    
source /etc/profile

9.初始化数据库

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

10.添加mysqld系统服务

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload(刷新识别)
systemctl start mysqld.service(开启服务)
systemctl enable mysqld(开机自启动)

netstat -anpt | grep 3306(查看端口)

11.修改mysql 的登录密码

mysqladmin -u root password "admin123"

12.授权远程登录

cd /usr/local/mysql/bin/

mysql -u root -padmin123
grant all privileges on *.* to 'root'@'%' identified by 'admin123';
quit

安装nginx
1.上传nginx软件包,关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装环境依赖包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

3.创建运行用户、组

useradd -M -s /sbin/nologin nginx

4.配置软件模块

tar xf nginx-1.26.2.tar.gz

cd nginx-1.26.2/ 

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

5.安装编译

make && make install

6.让系统识别nginx的操作命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

7.设置syetemctl管理服务

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service

systemctl start nginx.service
systemctl enable nginx.service

netstat -lntp | grep nginx

安装php
1.上传php软件包,关闭防火墙和核心防护

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

2.安装GD库和GD库关联程序,用来处理和生成图片

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

3.配置软件模块

tar xf php-7.1.10.tar.bz2

./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

4.编译安装

make && make install

5、路径优化

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

6、调整PHP配置文件

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini

vim /usr/local/php/lib/php.ini

date.timezone = Asia/Shanghai

cd /usr/local/php/etc/

cp  php-fpm.conf.default php-fpm.conf

vim php-fpm.conf

pid = run/php-fpm.pid

cd /usr/local/php/etc/php-fpm.d/

user = nginx
group = nginx

listen = 192.168.110.50:9000

listen.allowed_clients = 192.168.110.60

useradd -M -s /sbin/nologin  nginx

7、启动php-fpmcd /opt/php-7.1.10/sapi/fpm

cp /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

cp php-fpm.service /usr/lib/systemd/system/php-fpm.service

systemctl restart php-fpm.service

netstat -lntp | grep php

8、配置 Nginx 支持 PHP 解析(nginx机器)

vim /usr/local/nginx/conf/nginx.conf

nginx -t

systemctl restart nginx.service

9、共享nginx网页目录

安装nfs

yum -y install rpcbind nfs-utils(php和nginx安装)

vim /etc/exports(nginx机器)

/usr/local/nginx/html 192.168.110.50(rw,sync)

systemctl enable --now rpcbind nfs

showmount -e 192.168.110.60(php机器)

挂载

mkdir -p /usr/local/nginx/html

mount 192.168.110.60:/usr/local/nginx/html /usr/local/mginx/html

vim /usr/local/nginx/conf/nginx.conf(nginx机器)

systemctl restart nginx.service

创建测试页面

网页访问

测试mysql能否联通

创建测试页面

网页访问

在LNMP架构下安装论坛

上传软件包(在nginx机器上)

解压

unzip Discuz_X3.4_SC_UTF8.zip

cd dir_SC_UTF8

cp -r upload/ /usr/local/nginx/html/discuz

chown -R nginx discuz

创建数据库

mysql -u root -padmin123

创建数据库discuz

create database discuz;

grant all on discuz.* to 'discuz'@'%'identified by'admin123';

flush privileges;

quit

浏览器访问

http://192.168.110.60/discuz

完成


http://www.kler.cn/news/315631.html

相关文章:

  • [OpenCV] 数字图像处理 C++ 学习——16直方图均衡化、直方图比较 详细讲解+附完整代码
  • 超详细的XML介绍【附带dom4j操作XML】
  • 口腔检测系统源码分享
  • php怎么连接使用kafka
  • 【AI算法岗面试八股面经【超全整理】——NLP】
  • 学生管理系统1.0版本
  • Kotlin 基本介绍(一)
  • 如何确保消息只被消费一次:Java实现详解
  • Python 中的 HTTP 编程入门,如何使用 Requests 请求网络
  • 实现人体模型可点击
  • Kotlin 枚举和 when 表达式(六)
  • 关于Python sklearn CountVectorizer使用详解
  • 多模态论文串讲-学习笔记(上)
  • docker配置镜像加速器
  • 亚马逊IP关联揭秘:发生ip关联如何处理
  • 【BEV 视图变换】Ray-based(2): 代码复现+画图解释 基于深度估计、bev_pool
  • MoveIt控制机械臂的运动实现——机器人抓取系统基础系列(二)
  • 带你0到1之QT编程:十七、Http协议实战,实现一个简单服务器和一个客户端进行http协议通信
  • 校园美食发现:Spring Boot技术的美食社交平台
  • Flyway 版本迁移文件
  • 【Kubernetes】常见面试题汇总(三十二)
  • Docker 系列完结
  • SparkSQL和Spark常用语句
  • Go语言并发编程:从理论到实践
  • QT widgets 窗口缩放,自适应窗口大小进行布局
  • 【鸿蒙OH-v5.0源码分析之 Linux Kernel 部分】003 - vmlinux.lds 链接脚本文件源码分析
  • 第k个排列 - 华为OD统一考试(E卷)
  • 跟着问题学12——GRU详解
  • Lucene详解介绍以及底层原理说明
  • 如何在Linux Centos7系统中挂载群晖共享文件夹