第十八章 使用LNMP架构部署动态网站环境

news2024/11/18 16:30:59

文章目录

    • 第十八章 使用LNMP架构部署动态网站环境
        • 一、源码包程序
          • 1、源码包的优势
          • 2、基本步骤
            • (1)、下载及解压源码包文件
            • (2)、编译源码包代码
            • (3)、生成二进制安装程序
            • (4)、运行二进制的服务程序安装包
            • (5)、清理源码包临时文件
        • 二、LNMP动态网站架构
          • 1、安装编译器及函数库
          • 2、下载相关软件包
          • 3、解压并编译rpcsvc-proto-1.4.tar.gz
          • 4、配置Nginx服务
            • (1)、Nginx介绍
            • (2)、创建用于管理网站服务地系统账户
            • (3)、编译安装Nginx网站服务程序
            • (4)、编辑配置文件
            • (5)、添加到PATH变量
            • (6)、打开网站
          • 5、配置Mysql服务
            • (1)、创建用于允许Mysql数据库的账户
            • (2)、解压Mysql压缩包
            • (3)、创建存放实际数据库文件的data目录
            • (4)、初始化MySQL服务程序并授权
            • (5)、添加到PATH变量
            • (6)、将启动脚本mysql.server放入到/etc/init.d目录中
            • (7)、执行MySQL数据库服务启动文件并进行初始化
            • (8)、修改密码
            • (9)、创建数据库
          • 6、配置PHP服务
            • (1)、PHP介绍
            • (2)、编译安装PHP服务程序
            • (3)、复制配置文件
            • (4)、复制模板文件
            • (5)、加入启动项
            • (6)、禁用功能
            • (7)、启动服务
        • 三、搭建Discuz论坛
          • 1、WordPress介绍
          • 2、清空内容并复制文件
          • 3、授权
          • 4、访问网站首页
          • 5、配置网站
            • (1)、填写安装信息
            • (2)、确认安装网站系统
            • (3)、填写网站标题及管理员名称等信息
            • (4)、安装完成
            • (5)、填写网站账号和密码
            • (6)、登录管理后台
        • 四、选购服务器主机

第十八章 使用LNMP架构部署动态网站环境

一、源码包程序

1、源码包的优势

源码包的可移植性非常好,几乎可以在任何Linux系统中安装使用,而RPM软件包是针对特定系统和架构编写的指令集,必须严格地符合执行环境才能顺利安装。

使用源码包安装服务程序时会有一个编译过程,因此能够更好地适应安装主机的系统环境,运行效率和优化程度都会强于使用RPM软件包安装的服务程序。

2、基本步骤
(1)、下载及解压源码包文件

为了方便在网络中传输,源码包文件通常会在归档后使用gzip或bzip2等格式进行压缩,因此一般会具有.tar.gz与.tar.bz2地后缀。要想使用源码包安装服务程序,必须先把里面的内容解压出来,然后再切换到源码包文件的目录中。

[root@redhat ~]# tar xzvf FileName.tar.gz
[root@redhat ~]# cd FileDirectory
(2)、编译源码包代码

在正式使用源码包安装服务程序之前,还需要使用编译脚本针对当前系统进行一系列的评估工作,包括对源码包文件、软件之间及函数库之间地依赖关系、编译器、汇编器及连接器进行检查。还可以根据需要来追加–prefix参数,以指定稍后源码包程序的安装路径,从而对服务程序的安装过程更加可控。当编译工作结束后,如果系统环境符合安装要求,一般会自动在当前目录下生成一个Makefile安装文件。

[root@redhat ~]# ./configure --prefix=/usr/local/program
(3)、生成二进制安装程序

刚刚生成的Makefile文件中会保存有关系统环境、软件依赖关系和安装规则等内容,接下来便可以使用make命令来根据Makefile文件内容提供的合适规则编译生成出真正可供用户安装服务程序的二进制可执行文件。

[root@redhat ~]# make
(4)、运行二进制的服务程序安装包

由于不需要再检查系统环境,也不需要在编译代码,因此运行二进制的服务程序安装包应该是速度最快地步骤。如果在源码包编译阶段使用了–prefix参数,那么此时服务程序就会被安装到那个目录,如果没有自行使用参数定义目录的话,一般会被默认安装到/usr/local/bin目录中。

[root@redhat ~]# make install
(5)、清理源码包临时文件

由于在安装服务程序的过程中进行了代码编译的工作,因此在安装后目录中会遗留很多临时垃圾文件,本着尽量不要浪费磁盘存储空间的原则,可以使用make clean命令对临时文件进行彻底的清理。

[root@redhat ~]# make clean

二、LNMP动态网站架构

1、安装编译器及函数库
[root@redhat ~]# yum install apr* autoconf automake numactl bison bzip2-devel cpp curl-devel fontconfig-devel freetype-devel gcc gcc-c++ gd-devel gettext-devel kernel-headers keyutils-libs-devel krb5-devel libcom_err-devel libXpm* libxml* libXaw-devel libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libxml2-devel libtiff* make openssl-devel patch pcre-devel perl php-common php-gd telnet zlib-devel libtirpc-devel gtk* ntpstat* bison* lrzsz cmake ncurses-devel libzip-devel libxslt-devel gdbm-devel readline-devel gmp-devel
2、下载相关软件包
[root@redhat ~]# mkdir /lnmp
[root@redhat ~]# cd /lnmp/
# 下载php压缩包
[root@redhat lnmp]# wget https://www.linuxprobe.com/Software/php-7.3.5.tar.gz
--2023-05-18 14:48:53--  https://www.linuxprobe.com/Software/php-7.3.5.tar.gz
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 39.98.160.175
正在连接 www.linuxprobe.com (www.linuxprobe.com)|39.98.160.175|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:19439026 (19M) [application/octet-stream]
正在保存至: “php-7.3.5.tar.gz”

php-7.3.5.tar.gz                        100%[=============================================================================>]  18.54M   139KB/s  用时 84s     

2023-05-18 14:50:17 (226 KB/s) - 已保存 “php-7.3.5.tar.gz” [19439026/19439026])
#下载wordpress压缩包
[root@redhat lnmp]# wget https://www.linuxprobe.com/Software/wordpress.tar.gz
--2023-05-18 14:50:30--  https://www.linuxprobe.com/Software/wordpress.tar.gz
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 39.98.160.175
正在连接 www.linuxprobe.com (www.linuxprobe.com)|39.98.160.175|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:16431490 (16M) [application/octet-stream]
正在保存至: “wordpress.tar.gz”

wordpress.tar.gz                        100%[=============================================================================>]  15.67M   202KB/s  用时 84s     

2023-05-18 14:51:55 (191 KB/s) - 已保存 “wordpress.tar.gz” [16431490/16431490])
# 下载rpcsvc-proto压缩包
[root@redhat ~]# wget https://www.linuxprobe.com/Software/rpcsvc-proto-1.4.tar.gz 
--2023-05-18 14:46:17--  https://www.linuxprobe.com/Software/rpcsvc-proto-1.4.tar.gz
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 39.98.160.175
正在连接 www.linuxprobe.com (www.linuxprobe.com)|39.98.160.175|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:149354 (146K) [application/octet-stream]
正在保存至: “rpcsvc-proto-1.4.tar.gz”

rpcsvc-proto-1.4.tar.gz                 100%[=============================================================================>] 145.85K   162KB/s  用时 0.9s    

2023-05-18 14:46:19 (162 KB/s) - 已保存 “rpcsvc-proto-1.4.tar.gz” [149354/149354])
# 下载nginx压缩包
[root@redhat ~]# wget https://www.linuxprobe.com/Software/nginx-1.16.0.tar.gz /lnmp
--2023-05-18 14:47:03--  https://www.linuxprobe.com/Software/nginx-1.16.0.tar.gz
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 39.98.160.175
正在连接 www.linuxprobe.com (www.linuxprobe.com)|39.98.160.175|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1032345 (1008K) [application/octet-stream]
正在保存至: “nginx-1.16.0.tar.gz”

nginx-1.16.0.tar.gz                     100%[=============================================================================>]   1008K   308KB/s  用时 3.3s    

2023-05-18 14:47:06 (308 KB/s) - 已保存 “nginx-1.16.0.tar.gz” [1032345/1032345])
# 下载mysql压缩包
[root@redhat ~]# wget https://www.linuxprobe.com/Software/mysql-8.0.18.tar.xz
--2023-05-18 14:47:55--  https://www.linuxprobe.com/Software/mysql-8.0.18.tar.xz
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 39.98.160.175
正在连接 www.linuxprobe.com (www.linuxprobe.com)|39.98.160.175|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:503854832 (481M) [application/octet-stream]
正在保存至: “mysql-8.0.18.tar.xz”

mysql-8.0.18.tar.xz                     100%[=============================================================================>] 480.51M   932KB/s  用时 26m 6s  

2023-05-18 15:14:01 (314 KB/s) - 已保存 “mysql-8.0.18.tar.xz” [503854832/503854832])
3、解压并编译rpcsvc-proto-1.4.tar.gz
//解压文件
[root@redhat ~]# cd /lnmp/
[root@redhat lnmp]# tar xzvf rpcsvc-proto-1.4.tar.gz 
//编译文件
[root@redhat lnmp]# cd rpcsvc-proto-1.4/
[root@redhat rpcsvc-proto-1.4]# ./configure 
[root@redhat rpcsvc-proto-1.4]# make
[root@redhat rpcsvc-proto-1.4]# make install
[root@redhat rpcsvc-proto-1.4]# cd ..
[root@redhat lnmp]# 
4、配置Nginx服务
(1)、Nginx介绍

Nginx是一款相当优秀的用于部署动态网站的轻量级服务程序,它最初是为俄罗斯门户站点而开发的,因其稳定性、功能丰富、占用内存少且并发能力强而备受用户的信赖。目前国内诸如新浪、网易、腾讯等门户站点均已使用了此服务。

Nginx服务程序的稳定性源自于采用了分阶段的资源分配技术,降低了CPU与内存的占用率,所以使用Nginx程序部署的动态网站环境不仅十分稳定、高效,而且消耗的系统资源也很少。此外,Nginx具备的模块数量与Apache具备的模块数量几乎相同,而且现在已经完全支持proxy、rewrite、mod fcgi、ssl、vhosts等常用模块。更重要的是,Nginx还支持热部署技术,7×24不间断提供服务,还可以在不暂停服务的情况下直接对Nginx服务程序进行升级。

坦白来讲,虽然Nginx程序的代码质量非常高,代码很规范,技术成熟,模块扩展也很容易,但依然存在不少问题,比如是由俄罗斯人开发的,所以在资料文档方面还并不完善,中文资料的质量更是鱼龙混杂。但是Nginx服务程序在近年来增长势头迅猛,相信会在轻量级Web服务器市场具有不错的未来。

(2)、创建用于管理网站服务地系统账户
# 使用-M参数不创建对应的家目录,以及使用-s参数指定登录Shell解释器为/sbin/nologin,让任何人都不能通过这个账号登陆到主机
[root@redhat lnmp]# useradd nginx -M -s /sbin/nologin
(3)、编译安装Nginx网站服务程序
# 使用prefix参数指定服务安装的目录,使用with-http_ssl_module参数开启Nginx服务的SSL加密模块
[root@redhat lnmp]# tar zxf nginx-1.16.0.tar.gz 
[root@redhat lnmp]# cd nginx-1.16.0/
[root@redhat nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module 
[root@redhat nginx-1.16.0]# make
[root@redhat nginx-1.16.0]# make install 
root@redhat nginx-1.16.0]# cd ..
[root@redhat lnmp]# 
(4)、编辑配置文件
[root@redhat lnmp]# vim /usr/local/nginx/conf/nginx.conf
# 删除第二行的注释符(#)
  2 user  nobody;
# 修改第四十五行添加index.php
 43         location / {
 44             root   html;
 45             index  index.php index.html index.htm;
 46         }
# 删除第六十五行至第七十一行的注释符(#),修改第六十九行网站根目录
 65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69             fastcgi_param  SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
 70             include        fastcgi_params;
 71         }
(5)、添加到PATH变量
# 添加PATH变量
[root@redhat lnmp]# vim /root/.bash_profile 
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin

export PATH
# 立即生效
[root@redhat lnmp]# source /root/.bash_profile 
# 启动服务
[root@redhat lnmp]# nginx 
(6)、打开网站
http://127.0.0.1/

在这里插入图片描述

5、配置Mysql服务
(1)、创建用于允许Mysql数据库的账户
# 使用-M参数不创建对应的家目录,以及使用-s参数指定登录Shell解释器为/sbin/nologin,让任何人都不能通过这个账号登陆到主机
[root@redhat lnmp]# useradd mysql -M -s /sbin/nologin
(2)、解压Mysql压缩包
# 解压压缩包
[root@redhat lnmp]# tar xvf mysql-8.0.18.tar.xz 
# 重命名为mysql
[root@redhat lnmp]# mv mysql-8.0.18-linux-glibc2.12-x86_64 mysql
# 移动文件至/usr/local目录下
[root@redhat lnmp]# mv mysql /usr/local/
(3)、创建存放实际数据库文件的data目录
[root@redhat lnmp]# cd /usr/local/mysql/
[root@redhat mysql]# mkdir data
(4)、初始化MySQL服务程序并授权
# 授权
[root@redhat mysql]# chown -R mysql:mysql /usr/local/mysql/
# 初始化MySQL服务程序,临时密码:dGj(cTP-i2s8
[root@redhat bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
2023-05-18T09:01:12.048649Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.18) initializing of server in progress as process 45965
2023-05-18T09:01:19.127921Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dGj(cTP-i2s8
(5)、添加到PATH变量
# 添加到PATH变量
[root@redhat bin]# vim /root/.bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin:/usr/local/mysql/bin

export PATH
# 立即生效
[root@redhat bin]# source /root/.bash_profile 
(6)、将启动脚本mysql.server放入到/etc/init.d目录中
# 复制启动脚本
[root@redhat bin]# cd /usr/local/mysql/
[root@redhat mysql]# cp -a support-files/mysql.server /etc/init.d/
# 授权
[root@redhat mysql]# chmod a+x /etc/init.d/mysql.server 
# 链接文件:libtinfo.so.5文件是MySQL数据库在8.0版本后重要的函数库文件,需要将libtinfo.so.6文件复制或者作为链接文件才能正常启动
[root@redhat mysql]# ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5
(7)、执行MySQL数据库服务启动文件并进行初始化
# 启动文件
root@redhat mysql]# /etc/init.d/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/redhat.err'.
. SUCCESS! 
# 登录数据库
[root@redhat mysql]# mysql -u root -p
Enter password: # 密码为初始化时给的原始密码
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.18

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
(8)、修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'aaaaaaaaaaaaaaaaaaaa';
Query OK, 0 rows affected (0.00 sec)
(9)、创建数据库
# 创建数据库
mysql> create database web;
Query OK, 1 row affected (0.00 sec)
# 退出数据库
mysql> exit
Bye
6、配置PHP服务
(1)、PHP介绍

PHP (Hypertxt Preprocessor,超文本预处理器)是一种通用的开源脚本语言,发明于1995年,它吸取了C语言、Java语言及Perl语言的很多优点,具有开源、免费、快捷、跨平台性强、效率高等优良特性,是目前Web开发领域最常用的语言之一。使用源码包的方式编译安装PHP语言环境其实并不复杂,难点在于解决PHP的程序包和其他软件的依赖关系。

(2)、编译安装PHP服务程序
# 使用prefix参数指定安装路径,使用--with-mysqli等命令开启对数据库的支持模块
[root@redhat php-7.3.5]# cd /lnmp/
[root@redhat php-7.3.5]# tar xvf php-7.3.5.tar.gz 
[root@redhat php-7.3.5]# cd php-7.3.5/
[root@redhat php-7.3.5]# ./configure --prefix=/usr/local/php --enable-fpm --with-mysqli --with-curl --with-pdo-mysql --with-pdo-sqlite --enable-mysqlnd --enable-mbstring --with-gd
[root@redhat php-7.3.5]# make
[root@redhat php-7.3.5]# make install
(3)、复制配置文件
[root@redhat php-7.3.5]# cp php.ini-development /usr/local/php/lib/php.ini
[root@redhat php-7.3.5]# cd /usr/local/php/etc/
[root@redhat etc]# mv php-fpm.conf.default php-fpm.conf
(4)、复制模板文件
[root@redhat etc]# mv php-fpm.d/www.conf.default php-fpm.d/www.conf
(5)、加入启动项
[root@redhat etc]# cd /lnmp/php-7.3.5/
[root@redhat php-7.3.5]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@redhat php-7.3.5]# chmod 755 /etc/init.d/php-fpm 
(6)、禁用功能
# 在第三百一十行disable_functions参数后面追加要禁止的功能
[root@redhat php-7.3.5]# vim /usr/local/php/lib/php.ini 
 310 disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog.readlink,symlink,popepassthru,stream_socket_server
(7)、启动服务
[root@redhat php-7.3.5]# /etc/init.d/php-fpm start
Starting php-fpm  done

三、搭建Discuz论坛

1、WordPress介绍

WordPress是一个以PHP和MySQL为平台的开源博客软件,具有丰富的插件和模板系统,截止于2021年5月,全球排名前1000万的网站中已有超过41%使用了WordPress,是当前最受欢迎的网站内容管理系统。

2、清空内容并复制文件
# 清空Nginx服务程序根目录的内容
[root@redhat php-7.3.5]# cd ..
[root@redhat lnmp]# rm -rf /usr/local/nginx/html/*
# 复制WordPress解压后的网站文件
[root@redhat lnmp]# tar xzvf wordpress.tar.gz 
[root@redhat lnmp]# mv wordpress/* /usr/local/nginx/html/
3、授权
[root@redhat lnmp]# chown -Rf nginx:nginx /usr/local/nginx/html/
[root@redhat lnmp]# chmod -Rf 777 /usr/local/nginx/html/
4、访问网站首页
http://127.0.0.1/wp-admin/setup-config.php

在这里插入图片描述

5、配置网站
(1)、填写安装信息

在这里插入图片描述

(2)、确认安装网站系统

在这里插入图片描述

(3)、填写网站标题及管理员名称等信息

在这里插入图片描述

(4)、安装完成

在这里插入图片描述

(5)、填写网站账号和密码

在这里插入图片描述

(6)、登录管理后台
http://127.0.0.1/wp-login.php

在这里插入图片描述

四、选购服务器主机

虚拟主机:在一台服务器中划分一定的磁盘空间供用户放置网站信息、存放数据等;仅提供基础的网站访问、数据存放与传输功能能够极大地降低用户费用,也几乎不需要用户来维护网站以外的服务;适合小型网站。

VPS (Virtual Private Server,虚拟专用服务器)︰在一台服务器中利用OpenVZ、Xen或KVM等虚拟化技术模拟出多台“主机(即IVPS),每个主机都有独立的IP地址、操作系统;不同VPS之间的磁盘空间、内存、CPU、进程与系统配置完全隔离,用户可自由使用分配到的主机中的所有资源,为此需要具备一定的维护系统的能力;适合小型网站。

ECS(Elastic Compute Service,云服务器)∶是一种整合了计算、存储、网络,能够做到弹性伸缩的计算服务;使用起来与VPS几乎一样,差别是云服务器是建立在一组集群服务器中,每个服务器都会保存一个主机的镜像(备份),从而大大提升了安全性和稳定性;另外还具备灵活性与扩展性;用户只需按使用量付费即可;适合大中小型网站。

独立服务器:这台服务器仅提供给用户一个人使用,其使用方式分为租用方式与托管方式。租用方式是用户将服务器的硬件配置要求告知IDC服务商,按照月、季、年为单位来租用它们的硬件设备。这些硬件设备由IDC服务商的机房负责维护,用户一般需要自行安装相应的软件并部署网站服务,这减轻了用户在硬件设备上的投入,适合大中型网站。托管方式则是用户需要自行购置服务器硬件设备并将其交给IDC服务供应商进行管理(需要缴纳管理服务费)。用户对服务器硬件配置有完全的控制权,自主性强,但需要自行维护修理服务器硬件设备,适合大中型网站。

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

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

相关文章

VS2022调试Win-flex bison生成的C语言程序

Win-flex bison是flex和bison在Windows平台的一个移植版本,它支持flex(快速词法分析器)和bison(GNU解析器生成器)。 Win-flex bison的下载及安装可参看“Windows中使用Lex(Win flex-bison)”&a…

CIBF2023深圳电池展圆满结束!昂视期待与您下次相会

5月18日,CIBF2023深圳电池展圆满结束,展会为期三天,各位参展商展示了最新技术与产品,并在展位上开展花式互动,现场气氛火热。 作为电池行业的权威展会,CIBF2023深圳电池展为国内外用户、采购商、经销商提供…

cuda编程学习——第二个cuda程序(官方案例分析)!干货向(二)

前言: 最近在做三维重建,尤其是Nerf方面多视角合成工作的时候,意识到了cuda的编程计算可以大大提高其中渲染的计算,最明显的例子是Instant-ngp,Plenoxels等文章,因此后面会学Cuda一段时间,同时…

Python代码最好的加密.pyd——easycython(Windows系统)

1 安装easycython 1.1 建议选用python 3.6及其以下的版本!! 1.2 CMD命令行 pip install easycython2 安装Visual Studio 2.1 下载 点击链接 https://visualstudio.microsoft.com/zh-hans/free-developer-offers/ 2.2 安装注意事项 记得勾选红色下图的…

渗透测试--3.1.社会工程学攻击

目录 社会工程学攻击 SET介绍 一、建立克隆钓鱼网站收集目标凭证 二、set工具集之木马欺骗实战反弹链接 三、后渗透阶段 1.查看主机系统信息 2.到处用户密码的hash值 3.获得shell控制台 日志清除 四、钓鱼邮件 1、测试邮箱的连通性 2、参数说明 3、Kali 内置了s…

位运算实现加减乘除(自用水文)

目录 位运算实现加法 位运算实现减法 位运算实现乘法 位运算实现除法 代码示例 PS:用位运算实现的加减乘除,其数据都是整型的(int、char、size_t等) 位运算实现加法 LeetCode_2.两数相加_小白麋鹿的博客-CSDN博客https://yt030917.blo…

【Jmeter第一章】Jmeter实操详细教程(快速入门)

文章目录 1、前言2、Jmeter介绍3、Jmeter下载安装4、Jmeter快速入门4.1、切换为中文显示4.2、基本使用 总结 1、前言 本篇内容为Jmeter的简单使用介绍,是基础的使用技巧,希望能帮到各位,不足之处还望多多包涵,最后感谢您的阅览。…

ChatGPT工作提效之初探路径独孤九剑遇强则强

ChatGPT工作提效之遇强则强 前言一、如何使用ChatGPT二、ChatGPT实战应用三、ChatGPT会叫的小孩有奶吃工具类的交互问答类的交互开发类的交互 前言 读《笑傲江湖》西湖比剑时,对于独孤九剑1的解读印象颇为深刻。令狐冲被任我行这个高手激发出许多精妙的剑招。这独孤…

【原创】企业级别的Kafka配置--按照市场分区

企业级别的Kafka配置--按照市场分区 背景--Kafka广播按照市场分区生产者和消费者设计方案Kafka Broker设计消费消息时增加过滤条件消费者端利用多线程/多协程机制提高吞吐量 背景–Kafka广播 对于同一个Topic来说,每个消费者组都可以拿到这个Topic中的全部数据。消…

论文阅读《Gradient-based Camera Exposure Control for Outdoor Mobile Platforms》

摘要 本文介绍了一种用于移动机器人平台上图像处理和计算机视觉应用的自动调节相机曝光的新方法。由于大多数图像处理算法严重依赖于主要基于局部梯度信息的低级图像特征,因此我们认为梯度量可以确定适当的曝光水平,从而使相机能够以对照明条件具有鲁棒…

LaTeX详细安装教程|LaTeX 基础知识|LaTeX 常用语法|LaTeX 快速入门

latex安装教程 一、LaTeX 基础知识1.1 LaTeX 的特点1.2 LaTeX 的基本组成部分 二、TeXLive安装包下载三、安装步骤四、TeXstudio安装及简单使用五、快速入门(LaTeX 常用语法)5.1 文本格式5.2 数学公式5.3 LaTeX 支持有序列表和无序列表5.4 图片和表格 La…

vim自动文件头

注意:以下方法是安装了ycm后的方法,没安装是否好使不知道,建议还是安装ycm,原版的vim真不好用。 在用vim编辑代码的时候自动添加文件头还是比较有用的。 比如像下面这样,只要输入vim test.py文件头就自动添加上了。 …

【Spring框架】--03.AOP

文章目录 5.面向切面:AOP5.1场景模拟5.1.1声明接口5.1.2创建实现类5.1.3创建带日志功能的实现类5.1.4提出问题 5.2代理模式5.2.1概念5.2.2静态代理5.2.3动态代理5.2.4测试 5.3AOP概念及相关术语5.3.1概述5.3.2相关术语①横切关注点②通知(增强&#xff0…

微服务架构 云原生应用从这一步开始

什么是云原生应用和微服务架构 云原生应用是一种设计和构建方式,旨在充分利用云计算的弹性、可扩展性和高可用性特性。云原生应用将应用程序的开发、交付和运行环境与云平台密切结合,以实现高度灵活、可靠和可扩展的部署。 云原生应用的核心原则包括以…

Java | 一分钟掌握定时任务 | 6 - Quartz定时任务

作者:Mars酱 声明:本文章由Mars酱原创,部分内容来源于网络,如有疑问请联系本人。 转载:欢迎转载,转载前先请联系我! 前言 前几篇介绍了单体架构的定时任务解决方式,但是现代软件架构…

Mysql【基础篇】—— mysql安装和环境配置

Mysql【基础篇】—— mysql安装和环境配置😎 Mysql 的概述Mysql下载安装和环境配置下载流程:Mysql启动:客户端连接方式一:使用MySQL提供的客户端命令行工具方式二:使用系统自带的命令行工具执行指令 总结撒花&#x1f…

tb-gateway配置OPC UA

1、安装模拟软件KEPServerEX 6 省略 2、配置OPC UA 安装好KEPServerEX 6之后,默认再电脑的最小化窗口会显示一个图标 右键点击图标,会显示一个OPC UA配置,然后点击配置,进入下面页面 点击添加按钮,弹出下面的弹窗 然后进行选择和配置,见下图,然后保存即可。 3、启动K…

【Linux】Linux编译器--vim的使用

😁作者:日出等日落 🔔专栏:Linux 当你还不能对自己说今天学到了什么东西时,你就不要去睡觉。 ——利希顿堡 目录 vim是什么 vim安装 vim的基本概念 vim的基本操作 vim正常模式命令集 vim末行模…

R.I.P

0x01 这几天,陈皓老师(网名:左耳朵耗子)因心梗离世的消息相信大家也都看到了。 于我而言,震惊、难过之余,心里也是阵阵惋惜。 相信不少同学了解陈皓老师都是从他的个人博客酷壳CoolShell开始的。 同样&…

JavaWeb13-JavaScript 开发利器之 jQuery-02

1. jQuery 的 DOM 操作 1.1 查找节点, 修改属性 查找属性节点: 查找到所需要的元素之后, 可以调用 jQuery 对象的 attr() 方法来获取它的各种属性值 查找节点-应用实例 element-attribute.html <!DOCTYPE html> <html lang"en"> <head><met…