LNMP项目部署

本文详细介绍了LNMP(Linux+Nginx+MySQL+PHP)环境的搭建过程,包括服务器准备、各组件的安装配置以及PHP-FPM的设置。内容涵盖从基础的系统环境准备,如关闭防火墙、修改主机名、时间同步,到Nginx和PHP的源码编译安装,以及Nginx的配置和PHP-FPM的启动。此外,还讲解了如何通过脚本自动化完成这些步骤,适合运维人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LNMP项目部署

介绍

项目的生命周期

  • 策划:老板+产品+UI设计
  • 实施:前端开发(客户端页面)+后端开发(ava php python等)+测试
  • 上线:运维
  • 维护:运维
  • 结束

运维工作内容

  • 项目策划,实施之初,进行准备工作,学习对应架构和方案
  • 服务器上搭建代码版本控制器
  • 为测试人员搭建测试环境
  • 部署项目上线
  • 项目后期维护

分布式集群

  • 集群:多台服务器在一起作同样的事

  • 分布式 :多台服务器在一起作不同的事

  • 常用架构

    • 负债均衡LB
    • 高可用HA
    • 数据库主从复制M-S
    • 读写分离R-W
    • 缓存中间件:memcached、Redis
    • 非关系型数据库:mongodb

在这里插入图片描述

项目背景

  • 年份:2021
  • 发布产品类型:互联网动态站点 社区论坛 商城 社交类站点
  • 用户数量:100-500
  • PV:页面访问数量,点击量,1000-3000(24小时访问次数总和)
  • QPS:并发量,吞吐量,5-10(每秒访问查询次数)
    • 计算:pv/时间 = qps
    • 压测:使用ab等并发测试软件,在规定时间发送一定的请求数量
  • TPS:每秒事务次数,5-10
  • RPS:每秒请求次数,5-10
  • DAU:每日活跃用户数,日活数,10-50

软件架构

  • C/S client/server
  • B/S browser/server

不管是C还是B,都是属于前端客户端

运维人员主要负责和管理的是server端,也统称为服务器端

  • LAMP:Linux+Apache+MySQL+PHP
  • LNMP:Linux+Nginx+MySQL+PHP
  • LNMPA:Linux+Nginx+MySQL+PHP+Apache
  • LNMT:Linux+Nginx+MySQL+Tomcat

在这里插入图片描述

环境准备

最小化安装centOs6.9

安装vim
[root@server02 ~]# yum install -y vim
已加载插件:fastestmirror
设置安装进程
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. Invalid release/repo/arch combination/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt
错误:Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

报错:Cannot retrieve repository metadata (repomd.xml) for repository: base.

原因:CentOS6已经在2020年11月30日停止维护了。centos官方停止了对centos6的所有更新,并且下架了包括官方所有的centos6源,目前阿里、163、清华等centos6源已无法使用

解决:如下

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
vi /etc/yum.repos.d/CentOS-Base.repo
#编写
[centos-office]
name=centos-office
failovermethod=priority
baseurl=https://vault.centos.org/6.10/os/x86_64/
gpgcheck=1
gpgkey=https://vault.centos.org/6.10/os/x86_64/RPM-GPG-KEY-CentOS-6

yum list
yum install -y vim

配置vim
echo "set nu" >> /root/.vimrc
echo "set ts=4" >> /root/.vimrc

sed -i "8calias grep='grep --color'" /root/.bashrc
source /root/.bashrc

关闭防火墙
service iptables stop
chkconfig iptables off

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

修改主机名
vim /etc/sysconfig/network
#修改为
HOSTNAME=server01
su

域名解析
vim /etc/hosts
#追加
192.168.139.128 server01.lnmp.com server01

时间同步
yum -y install ntp
service ntpd start
chkconfig ntpd on
ntpdate cn.ntp.org.cn

LNMP部署

MySQL安装

编译参数的说明

编译参数 说明
-DCMAKE_INSTALL_PREFIX 安装到的软件目录
-DMYSQL_DATADIR 数据文件存储的路径
-DSYSCONFDIR 配置文件路径 (my.cnf)
-DENABLED_LOCAL_INFILE=1 使用localmysql客户端的配置
-DWITH_PARTITION_STORAGE_ENGINE 使mysql支持分表
-DEXTRA_CHARSETS 安装支持的字符集
-DDEFAULT_CHARSET 默认字符集使用 这里配置为utf8mb4
-DDEFAULT_COLLATION 连接字符集
-DWITH_SSL 开启mysql的ssl使用

初始化参数说明

初始化参数 说明
–basedir 安装到的软件目录
–datadir 数据文件存储路径
–user mysql使用的用户

脚本安装及其初始化

[root@server01 ~]# yum install -y lrzsz
[root@server01 ~]# mkdir /root/soft
[root@server01 ~]# cd /root/soft
[root@server01 soft]# rz
#传入mysql-5.6.33.tar.gz软件包

[root@server01 ~]# vim mysql_install.sh

#!/bin/bash
#源码编译安装MySQL
mysql_install() {
   
	#1、创建用户
`id mysql` &>/dev/null
[ $? -ne 0 ] && useradd -s /sbin/nologin -M mysql
#2、解决依赖
yum install -y cmake ncurses-devel
#3、编译安装
cd /root/soft
tar zxvf mysql-5.6.33.tar.gz
cd mysql-5.6.33
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_SSL=bundled
make && make install
#配置文件
rm -rf /etc/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
#授权并初始化数据库
chown -R mysql:mysql /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值