linux运维14

linux运维篇14

  • 一、简述CGI与FASTCGI区别
  • 二、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构
  • 三、通过loganalyzer展示数据库中的日志(cgi模式)

一、简述CGI与FASTCGI区别

  • CGI模式:当用户访问网站的动态资源时,httpd服务会生成一个子进程处理php语言,处理后再返回内容给用户,在这个过程中,php语言的解释依赖于httpd服务,属于临时进程,php不是单独以守护进程方式运行。
  • FASTCGI模式:当用户访问网站的动态资源时,httpd服务会把php语言转发给php守护进程,php进程解释完成后再返回httpd进程,2个进程之间相互独立,互不影响。

二、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构

下载链接:

httpd:httpd下载
apr和apr-utils:apr和apr-tuils下载
mysql:mysql下载
php:php下载
wordpress:wordpress下载
doscuz:discuz下载

  1. centos 7最小版初始环境配置:
yum install -y wget
systemctl stop firewalld
systemctl disable firewalld  关闭防火墙
setenforce 0
sed -i 's/SELINUX=enforcing$/SELINUX=disabled/g' /etc/selinux/config  关闭selinux
  1. httpd编译安装:
yum install -y gcc expat-devel   安装依赖包
cd /root  在目录下载文件
wget http://archive.apache.org/dist/httpd/httpd-2.4.46.tar.gz --no-check-certificate
wget https://dlcdn.apache.org/apr/apr-util-1.6.1.tar.gz --no-check-certificate
wget https://dlcdn.apache.org/apr/apr-1.7.0.tar.gz --no-check-certificate
mkdir /httpd   创建安装目录
#编译apr
cd /root   切回目录
tar xf apr-1.7.0.tar.gz
cd apr-1.7.0
sed -ri 's@\$RM "\$cfgfile"@\# \$RM "\$cfgfile"@g' configure 
./configure --prefix=/httpd/aprmake && make install#编译apr-tuils
cd /root   切回目录
tar xf apr-util-1.6.1.tar.gz 
cd apr-util-1.6.1
./configure --prefix=/httpd/apr-util --with-apr=/httpd/apr/make && make install#编译httpd
cd /root   切回目录
tar xf httpd-2.4.46.tar.gz 
cd httpd-2.4.46
./configure --prefix=/httpd \
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-apr=/httpd/apr/ \
--with-apr-util=/httpd/apr-util/ \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=eventmake && make install#配置httpd
useradd -s /sbin/nologin -r apache   创建账户
cd /httpd/conf/
sed -ri -e 's/User daemon/User apache/g'  -e 's/Group daemon/Group apache/g' httpd.conf   修改运行账户
echo "PATH=/httpd/bin:$PATH" >/etc/profile.d/httpd.sh  创建变量
source /etc/profile.d/httpd.shvi /usr/lib/systemd/system/httpd.service  创建httpd的service
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=forking
ExecStart=/httpd/bin/apachectl start
ExecReload=/httpd/bin/apachectl graceful
ExecStop=/httpd/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.targetsystemctl daemon-reload
chown apache.apache -R /httpd/
systemctl start httpd
systemctl enable httpd

查看httpd是否安装成功,直接访问对应的网页

curl http://192.168.116.130

在这里插入图片描述

  1. mysql编译安装:
yum  -y install libaio numactl-libs  
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
cd /root
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz 
xz -d mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.23-linux-glibc2.12-x86_64.tar -C /usr/local/cd /usr/local/
ln -s mysql-8.0.23-linux-glibc2.12-x86_64/ mysql
echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
cp /etc/my.cnf{,.bak}vi /etc/my.cnf   把文件内容删除,替换为下面
[mysqld]
datadir=/data/mysql
skip_name_resolve=1
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[client]
socket=/data/mysql/mysql.sock
!includedir /etc/my.cnf.d/mkdir /data/mysql -p  创建数据库目录
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql   初始化数据
chown -R mysql.mysql /data/mysql/
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldservice mysqld start                   启动mysql
chkconfig --add mysqld                 设置开机启动
mysql                                  确认版本

在这里插入图片描述

  1. 编译安装php
安装阿里yum源,要不然有些依赖包安装不了
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repoyum -y install gcc libxml2-devel bzip2-devel libmcrypt-devel sqlite-devel oniguruma-devel
cd /root
wget https://www.php.net/distributions/php-7.4.19.tar.gz
tar xf php-7.4.19.tar.gz -C /usr/local/
cd /usr/local/php-7.4.19/./configure \
--prefix=/php74 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl   \
--with-zlib \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfomake  && make install
在安装目录/usr/local/php-7.4.19/下,不要切回/root
cp php.ini-production /etc/php.ini
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/  复制service
echo 'PATH=/php74/bin:$PATH' >/etc/profile.d/php.sh
source /etc/profile.d/php.sh
mv /php74/etc/php-fpm.conf.default /php74/etc/php-fpm.conf
mv /php74/etc/php-fpm.d/www.conf.default /php74/etc/php-fpm.d/www.confvi /php74/etc/php-fpm.d/www.conf   修改启动用户,把nobody改为apache
user = apache
group = apachemkdir /etc/php.d  创建php模块目录,启动php-opcache加速模块
vi /etc/php.d/opcache.ini
[opcache]
zend_extension=opcache.so              
opcache.enable=1chown apache.apache -R /php74/
systemctl daemon-reload
systemctl start php-fpm
ss -tnl         确认端口运行
httpd   80
mysql   3306,33060
php     9000

在这里插入图片描述

  1. httpd配置php连接
mkdir /httpd/conf.d
vi /httpd/conf/httpd.conf  修改配置文件<IfModule dir_module>DirectoryIndex index.php
</IfModule>
ServerName 127.0.0.1:80
#把#删了,开启模块支持
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#文件底部添加
AddType application/x-httpd-php .php
ProxyRequests Off
IncludeOptional /httpd/conf.d/*.confsystemctl restart httpd
httpd -M |grep proxy   确认模块开启

在这里插入图片描述
wordpress搭建:

数据库配置:
mysqlCREATE DATABASE wordpress; 
create user wordpress@'%' identified by 'wordpress';
grant all on wordpress.* to wordpress@'%';
FLUSH PRIVILEGES;
exit下载wordpress
mkdir /httpd/html
cd /root
wget https://cn.wordpress.org/wordpress-5.7.1-zh_CN.tar.gz
tar xf wordpress-5.7.1-zh_CN.tar.gz -C /httpd/html/
chown apache.apache -R /httpd/html/httpd配置文件配置
vi /httpd/conf.d/wordpress.conf <virtualhost *:80>
documentroot /httpd/html
<directory /httpd/html>
require all granted
</directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/httpd/html/$1
CustomLog "/httpd/logs/access_wordpress_log" common
</virtualhost>systemctl restart httpd  重启配置

开始安装wordpress

http://192.168.116.130/wordpress/wp-admin/setup-config.php 访问网页

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
登录后台

http://192.168.116.130/wordpress/wp-login.php

在这里插入图片描述
在这里插入图片描述
发布文章,测试网站是否能工作

在这里插入图片描述
discuz搭建:

数据库配置:
mysqlCREATE DATABASE discuz; 
create user discuz@'%' identified by 'discuz';
grant all on discuz.* to discuz@'%';
FLUSH PRIVILEGES;
exit下载discuz:
cd /root
wget https://www.dismall.com/forum.php?mod=attachment&aid=MTA0fDA3MzUyYzNlfDE2Mzk2MjI1MDZ8MHw3Mw%3D%3D
yum install -y unzip
unzip Discuz_X3.4_SC_UTF8_20211124.zip
mkdir /httpd/html/discuz
cp -ar /root/upload/* /httpd/html/discuz/
chown apache.apache -R /httpd/html/discuz/discuz的httpd文件配置:
vi /httpd/conf.d/discuz.conf<virtualhost *:80>
documentroot /httpd/html
<directory /httpd/html>
require all granted
</directory>
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/httpd/html/$1
CustomLog "/httpd/logs/access_wordpress_log" common
</virtualhost>systemctl restart httpd

开始安装discuz

http://192.168.116.130/discuz/install/ 访问网站

在这里插入图片描述
确认环境都是显示绿色
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后台登录点这里

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、通过loganalyzer展示数据库中的日志(cgi模式)

yum -y install httpd php php-mysqlnd php-gd mariadb-server rsyslog-mysql
cat /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql >rsyslog.sql  
cat rsyslog.sql   这里定义了rsyslog日志数据库生成方式
systemctl start mariadb  数据库版本要8.0以下,太高不支持mysql <rsyslog.sql   导入刚才生成的sql语句
mysql  创建账户
create user rsyslog@'%' identified by 'rsyslog';
grant all on Syslog.* to rsyslog@'%';
exit
开启rsyslog日志写入数据库
vi /etc/rsyslog.conf   按照位置添加配置#### MODULES ####
$ModLoad ommysql#### RULES ####
*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.116.130,Syslog,rsyslog,rsyslogsystemctl restart rsyslog  重启服务安装loganalyzer
cd /root
wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.12.tar.gz  --no-check-certificate
tar xf loganalyzer-4.1.12.tar.gz 
mv loganalyzer-4.1.12/src/ /var/www/html/log
touch /var/www/html/log/config.php
chmod 666 /var/www/html/log/config.php
chown apache.apache -R /var/www/html/log/systemctl start httpd   启动服务
http://192.168.116.130/log/   开始安装,最好用google或兼容IE的浏览器

点击here
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入数据库名Syslog
输入数据库表SystemEvents
输入数据库账户rsyslog
输入数据库密码rsyslog
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
点击这里查看图形化日志
在这里插入图片描述
最后记得修改文件权限,这个会导致重新初始化

chown 644 /var/www/html/log/config.php

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1383150.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【从零开始学习JAVA | 第四十五篇】动态代理

目录 前言&#xff1a; 动态代理&#xff1a; 动态代理实现步骤&#xff1a; 动态代理的应用场景&#xff1a; 总结&#xff1a; 前言&#xff1a; 动态代理作为一种强大的编程技术&#xff0c;不仅为我们提供了灵活性和可扩展性&#xff0c;还为软件开发和系统设计带来了…

布隆过滤器在缓存系统中的实践

一. 背景 在业务开发中&#xff0c;在并发量很高的情况下&#xff0c;通常会使用缓存对系统查询性能进行优化&#xff0c;在缓存命中率很高的情况下&#xff0c;缓存的使用能够大幅提升系统查询性能。但是在缓存命中率非常低场景下&#xff0c;如果采用传统缓存读取模式&#…

Redisson_布隆过滤器

应用场景 去重 诞生背景 Java应用一般通过JDK自身提供的HashSet去重&#xff0c;通过contains()方法判断当前元素是否存在于Set中。该方式要求在调用contains()前&#xff0c;已经将数据列表加载到内存中&#xff08;即该方法基于内存存储实现判断功能&#xff09;。 缺点: 1.满…

【布隆过滤器】

我是&#x1f31f;廖志伟&#x1f31f;&#xff0c;一名&#x1f315;Java开发工程师&#x1f315;、&#x1f4dd;Java领域优质创作者&#x1f4dd;、&#x1f389;CSDN博客专家&#x1f389;、&#x1f339;幕后大佬社区创始人&#x1f339;。拥有多年一线研发经验&#xff0…

xmind用例数据上传至禅道

xmind格式参考&#xff0c;只需要在一级子主题填写对应用例模块ID&#xff0c;其余格式随意即可生成用例并直接上传到禅道&#xff1a; 代码里需填写禅道对应登录账号及用例所属产品 import requests import json import re import hashlib import pprint import threading fr…

认识相机

认识相机 在Threejs中相机的表示是THREE.Camera&#xff0c;它是相机的抽象基类&#xff0c;其子类有两种相机&#xff0c;分别是正投影相机THREE.OrthographicCamera和透视投影相机THREE.PerspectiveCamera。类图如下所示&#xff1a; 透视投影相机&#xff08;PerspectiveCam…

【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015+OpenCV4.5.1)

本文目录 前言怎么查找资料&#xff1f;数据手册例程 项目开发VS版本与OpenCV版本选择VS配置OpenCVVS添加MVS安装目录下的头文件和库VS项目开发 编程问题记录相机数据如何转换为OpenCV的Mat类型&#xff1f;函数不能修改全局指针变量&#xff1f;OpenCV运行报错“有未经处理的异…

Azure Kinect sdk 入门,简单使用深度相机

首先要安装azure Kinect dk传感器和人体跟踪的软件 先安装传感器&#xff1a;Azure-Kinect-Sensor-SDK/usage.md at develop microsoft/Azure-Kinect-Sensor-SDK GitHub 在这个网址里下载&#xff0c; 点击红笔画出来的地方&#xff0c;下载安装&#xff0c;记住安装路径&a…

入门级数码相机

为了满足不同层次顾客的购买要求&#xff0c;小编今天给大家交上一篇家用DC完全导购。从200万像素到800万像中间&#xff0c;分别选取了几款各级别中值得推荐的DC为大家推荐。在这里先给朋友们提一下目前数码相机市场相素与价位之间的简单联系。 目前&#xff0c;200万像素的数…

【计算机视觉-从入门到精通系列】 第二章 相机模型

2.1 针孔模型 计算机视觉是一门研究如何让计算机“看”世界的学科。人要看到世界需要眼睛&#xff0c;计算机要看到世界同样也需要“眼睛”&#xff0c;计算机的“眼睛”主要就是相机。实际应用中&#xff0c;相机的种类纷繁复杂&#xff0c;包括手机和平板电脑的相机&#xff…

5分钟入门Cinemachine智能相机系统

摘要&#xff1a;相机是Unity世界的眼睛&#xff0c;一个智能相机更是能帮咱们节省大把的时间和精力。Cinemachine现在已经大量应用到各种项目中&#xff0c;如果你还没有用过Cinemachine&#xff0c;墙裂建议你来体验一下。 你好&#xff0c;我是跟着大智学Unity的萌新&#x…

立体视觉入门指南(1):坐标系与相机参数

亲爱的同学们&#xff0c;我们的世界是3D世界&#xff0c;我们的双眼能够观测三维信息&#xff0c;帮助我们感知距离&#xff0c;导航避障&#xff0c;从而翱翔于天地之间。而当今世界是智能化的世界&#xff0c;我们的科学家们探索各种机器智能技术&#xff0c;让机器能够拥有…

camera学习入门指南

等待补充。 1.背景介绍 近年来&#xff0c;随着消费电子领域市场的快速增长&#xff0c;如安防、图像等领域&#xff0c;camera市场得到了快速发展。智能手机这几年以拍照作为主打卖点&#xff0c;带动了camera&#xff08;CCM&#xff09;出货。 具体可以看电子行业分析或者券…

机器视觉——入门基础(三)——相机镜头选型

目录 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 1. 面阵相机和镜头选型 已…

划重点!| 必须了解的工业相机入门级知识

工业相机是机器视觉系统的核心部件&#xff0c;其相关基础知识是行业内人员必须熟知的。那么分辨率、像素深度、行频、信噪比具体是指什么&#xff1f;CCD和CMOS又该如何去进行选择&#xff1f;今天我们就对这些内容进行一个简单的梳理&#xff0c;希望能够帮助大家了解更多。 …

机器视觉——入门基础(一)—— 相机篇

目录 一&#xff0c;相机就是CCD么&#xff1f; 二&#xff0c;像素。 三&#xff0c;像素直径。 四&#xff0c;CCD的大小。 五&#xff0c;快门速度。 六&#xff0c;增益。 七&#xff0c;1D相机&#xff08;线扫描相机&#xff09; 八&#xff0c;3D相机。 九&…

IP 协议的相关特性和数据链路层相关知识总结

目录 IP 协议的相关特性 一、IP协议的特性 二、 IP协议数据报格式 三、 IP协议的主要功能 1. 地址管理 动态分配 IP地址 NAT机制 NAT背景下的通信 IPV6 2. 路由控制​​​​​​​ 3.IP报文的分片与重组 数据链路层相关知识 1、以太网协议&#xff08;Ethernet&#xff09; 2.M…

掌握Python的X篇_28_python包管理工具pip命令

本篇将会介绍在实际使用python中最能节省效率的内容&#xff0c;利用第三方库拿来就用。 文章目录 1. pip命令是什么2. pip相关操作2.1 list2.2 install2.3 uninstall2.4 导出和导入2.4.1 freeze命令2.4.2 “-r” 3. 国内镜像4. Python Packges Index网站 1. pip命令是什么 p…

DiskGenius分区移动硬盘

打开DiskGenius 右键点击1T&#xff08;实际显示是900多G&#xff09;的移动硬盘&#xff0c;选择快速分区 分区个数按自己需要来选&#xff0c;卷标也按自己需要来修改&#xff0c;取消主分区的勾选框&#xff0c;因为是移动硬盘&#xff0c;不需要转操作系统&#xff0c;所以…

AUtoCAD Civil 3D-曲面-原始数据处理

Civil3D中&#xff0c;曲面是最重要的一个对象之一。曲面涉及到的知识点比较多&#xff0c;作为一个刚接触Civil3D的学习者&#xff0c;可能对于各种概念和各种概念之间的关系比较迷惑。这篇文章及梳理下曲面的一些重要的概念框架。 1、 曲面的分类 曲面可以分为四种类型&…