Apache2.4源码安装与配置

环境准备

openssl-devel
pcre-devel
expat-devel
libtool
gcc
libxml2-devel
这些包要提前安装,否则httpd编译安装时候会报错

下载源码、解压缩、软连接

1、wget下载

[root@node01 ~]# wget https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz
--2023-07-20 12:49:02--  https://downloads.apache.org/httpd/httpd-2.4.57.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 135.181.214.104, 88.99.95.219, 2a01:4f9:3a:2c57::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|135.181.214.104|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9773385 (9.3M) [application/x-gzip]
Saving to: ‘httpd-2.4.57.tar.gz’

100%[===========================================================>] 9,773,385   3.50MB/s   in 2.7s   

2023-07-20 12:49:05 (3.50 MB/s) - ‘httpd-2.4.57.tar.gz’ saved [9773385/9773385]


2、解压缩
[root@node01 ~]# tar -zxf httpd-2.4.57.tar.gz -C /usr/local/cluster/

3、软连接
[root@node01 ~]# ln -s /usr/local/cluster/httpd-2.4.57/ /usr/local/cluster/httpd

编译安装需要两个依赖包

[root@node01 ~]# wget https://downloads.apache.org/apr/apr-1.7.4.tar.gz
--2023-07-20 16:43:32--  https://downloads.apache.org/apr/apr-1.7.4.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104, 2a01:4f9:3a:2c57::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1122147 (1.1M) [application/x-gzip]
Saving to: ‘apr-1.7.4.tar.gz’

100%[===========================================================>] 1,122,147    933KB/s   in 1.2s   

2023-07-20 16:43:34 (933 KB/s) - ‘apr-1.7.4.tar.gz’ saved [1122147/1122147]


[root@node01 ~]# wget https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz
--2023-07-20 16:45:01--  https://downloads.apache.org/apr/apr-util-1.6.3.tar.gz
Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 135.181.214.104, 2a01:4f8:10a:201a::2, ...
Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 556623 (544K) [application/x-gzip]
Saving to: ‘apr-util-1.6.3.tar.gz’

100%[===========================================================>] 556,623      476KB/s   in 1.1s   

2023-07-20 16:45:03 (476 KB/s) - ‘apr-util-1.6.3.tar.gz’ saved [556623/556623]


[root@node01 ~]# ll -h apr*
-rw-r--r-- 1 root root 1.1M Apr 16 21:07 apr-1.7.4.tar.gz
-rw-r--r-- 1 root root 544K Feb  2 03:06 apr-util-1.6.3.tar.gz

编译安装apr

[root@node01 ~]# tar -zxf apr-1.7.4.tar.gz -C /usr/local/cluster/
[root@node01 ~]# ln -s /usr/local/cluster/apr-1.7.4/ /usr/local/cluster/apr
[root@node01 ~]# cd /usr/local/cluster/apr

添加#注释
[root@node01 apr]# vim configure
#    $RM "$cfgfile"


[root@node01 apr]# ./configure --prefix=/usr/local/apr
。。。
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/apr.h
config.status: creating build/apr_rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating apr-1-config
config.status: creating apr.pc
config.status: creating test/Makefile
config.status: creating test/internal/Makefile
config.status: creating include/arch/unix/apr_private.h
config.status: executing libtool commands
config.status: executing default commands
config.status: include/apr.h is unchanged
config.status: include/arch/unix/apr_private.h is unchanged


[root@node01 apr]# make && make install
。。。
----------------------------------------------------------------------
/usr/bin/install -c -m 644 apr.exp /usr/local/apr/lib/apr.exp
/usr/bin/install -c -m 644 apr.pc /usr/local/apr/lib/pkgconfig/apr-1.pc
for f in libtool shlibtool; do \
    if test -f ${f}; then /usr/bin/install -c -m 755 ${f} /usr/local/apr/build-1; fi; \
done
/usr/bin/install -c -m 755 /usr/local/cluster/apr/build/mkdir.sh /usr/local/apr/build-1
for f in make_exports.awk make_var_export.awk; do \
    /usr/bin/install -c -m 644 /usr/local/cluster/apr/build/${f} /usr/local/apr/build-1; \
done
/usr/bin/install -c -m 644 build/apr_rules.out /usr/local/apr/build-1/apr_rules.mk
/usr/bin/install -c -m 755 apr-config.out /usr/local/apr/bin/apr-1-config

编译安装apr-util

[root@node01 ~]# tar -zxf apr-util-1.6.3.tar.gz -C /usr/local/cluster/
[root@node01 ~]# ln -s /usr/local/cluster/apr-util-1.6.3/ /usr/local/cluster/apr-util
[root@node01 ~]# cd /usr/local/cluster/apr-util

[root@node01 apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
。。。
configure: creating ./config.status
config.status: creating Makefile
config.status: creating export_vars.sh
config.status: creating build/pkg/pkginfo
config.status: creating apr-util.pc
config.status: creating apu-1-config
config.status: creating include/private/apu_select_dbm.h
config.status: creating include/apr_ldap.h
config.status: creating include/apu.h
config.status: creating include/apu_want.h
config.status: creating test/Makefile
config.status: creating include/private/apu_config.h
config.status: executing default commands

[root@node01 apr-util]# make && make install


报错提示需要安装expat
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
 #include <expat.h>
                   ^
compilation terminated.
make[1]: *** [xml/apr_xml.lo] Error 1
make[1]: Leaving directory `/usr/local/cluster/apr-util-1.6.3'
make: *** [all-recursive] Error 1

[root@node01 apr-util]# yum install expat-devel -y

再次执行
[root@node01 apr-util]# make && make install
 
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/usr/bin/install -c -m 644 aprutil.exp /usr/local/apr-util/lib
/usr/bin/install -c -m 755 apu-config.out /usr/local/apr-util/bin/apu-1-config

编译安装httpd

因为没有提前安装依赖包,需要重新编译安装apr和apr-util,最后再重新编译安装httpd

[root@node01 ~]# tar -zxf httpd-2.4.57.tar.gz -C /usr/local/cluster/
[root@node01 ~]# ln -s /usr/local/cluster/httpd-2.4.57/ /usr/local/cluster/httpd
[root@node01 ~]# cd /usr/local/cluster/httpd

[root@node01 httpd]# ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable--rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most  --enable-mpms-shared=all --with-mpm=prefork

报错需要pcre包
checking for pcre-config... no
configure: error: pcre(2)-config for libpcre not found. PCRE is required and available from http://pcre.org/

[root@node01 httpd]# yum install pcre-devel -y

再次执行

checking for OpenSSL version >= 0.9.8a... FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures


[root@node01 httpd]# yum list openssl*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.aliyun.com
Installed Packages
openssl.x86_64                               1:1.0.2k-19.el7                                @anaconda
openssl-libs.x86_64                          1:1.0.2k-19.el7                                @anaconda
Available Packages
openssl.x86_64                               1:1.0.2k-26.el7_9                              updates  
openssl-devel.i686                           1:1.0.2k-26.el7_9                              updates  
openssl-devel.x86_64                         1:1.0.2k-26.el7_9                              updates  
openssl-libs.i686                            1:1.0.2k-26.el7_9                              updates  
openssl-libs.x86_64                          1:1.0.2k-26.el7_9                              updates  
openssl-perl.x86_64                          1:1.0.2k-26.el7_9                              updates  
openssl-static.i686                          1:1.0.2k-26.el7_9                              updates  
openssl-static.x86_64                        1:1.0.2k-26.el7_9                              updates  
openssl098e.i686                             0.9.8e-29.el7.centos.3                         base     
openssl098e.x86_64                           0.9.8e-29.el7.centos.3                         base   

升级OpenSSL 安装openssl-devel
[root@node01 httpd]# yum install openssl-devel -y


再次执行
[root@node01 httpd]# ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable--rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most  --enable-mpms-shared=all --with-mpm=prefork 

configure: summary of build options:

    Server Version: 2.4.57
    Install prefix: /usr/local/httpd
    C compiler:     gcc -std=gnu11
    CFLAGS:          -g -O2 -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -std=gnu11 -E



[root@node01 httpd]# make && make install

报错
/usr/local/apr/build-1/libtool --silent --mode=link gcc -std=gnu11  -g -O2 -pthread         -o htpasswd  htpasswd.lo passwd_common.lo      /usr/local/apr-util/lib/libaprutil-1.la /usr/local/apr/lib/libapr-1.la -lrt -lcrypt -lpthread -ldl -lcrypt
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/usr/local/cluster/httpd-2.4.57/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/cluster/httpd-2.4.57/support'
make: *** [all-recursive] Error 1

[root@node01 httpd]# yum install libtool -y

解决参考文档
https://my.oschina.net/LuCastiel/blog/1590706

安装 libxml2-devel 包

[root@node01 httpd]# yum install libxml2-devel -y

删除 apr-util 安装目录,并重新编译安装
[root@node01 httpd]# rm -rf /usr/local/apr-util/
[root@node01 httpd]# cd /usr/local/cluster/apr-util

这一步很重要,必须清除之前配置时的缓存
[root@node01 apr-util]# make clean


再次重新编译安装apr-util
[root@node01 apr-util]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@node01 apr-util]# make && make install

重新编译安装 httpd
[root@node01 apr-util]# cd /usr/local/cluster/httpd
[root@node01 httpd]# make clean
[root@node01 httpd]# ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable--rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most  --enable-mpms-shared=all --with-mpm=prefork 
configure: summary of build options:

    Server Version: 2.4.57
    Install prefix: /usr/local/httpd
    C compiler:     gcc -std=gnu11
    CFLAGS:          -g -O2 -pthread  
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE  
    LDFLAGS:           
    LIBS:             
    C preprocessor: gcc -std=gnu11 -E

[root@node01 httpd]# make && make instal
。。。
make[4]: Entering directory `/usr/local/cluster/httpd-2.4.57/modules/mappers'
make[4]: Nothing to be done for `local-shared-build'.
make[4]: Leaving directory `/usr/local/cluster/httpd-2.4.57/modules/mappers'
make[3]: Leaving directory `/usr/local/cluster/httpd-2.4.57/modules/mappers'
make[2]: Leaving directory `/usr/local/cluster/httpd-2.4.57/modules'
make[2]: Entering directory `/usr/local/cluster/httpd-2.4.57/support'
make[2]: Leaving directory `/usr/local/cluster/httpd-2.4.57/support'


Installing configuration files
mkdir /usr/local/httpd/conf
mkdir /usr/local/httpd/conf/extra
mkdir /usr/local/httpd/conf/original
mkdir /usr/local/httpd/conf/original/extra
Installing HTML documents
mkdir /usr/local/httpd/htdocs
Installing error documents
mkdir /usr/local/httpd/error
Installing icons
mkdir /usr/local/httpd/icons
mkdir /usr/local/httpd/logs
Installing CGIs
mkdir /usr/local/httpd/cgi-bin
Installing header files
mkdir /usr/local/httpd/include
Installing build system files
mkdir /usr/local/httpd/build
Installing man pages and online manual
mkdir /usr/local/httpd/man
mkdir /usr/local/httpd/man/man1
mkdir /usr/local/httpd/man/man8
mkdir /usr/local/httpd/manual
make[1]: Leaving directory `/usr/local/cluster/httpd-2.4.57'


根据输出信息可以看到安装目录是/usr/local/httpd

启动httpd服务


[root@node01 httpd]# whereis httpd
httpd: /usr/local/httpd

[root@node01 httpd]# cd /usr/local/httpd/

[root@node01 httpd]# ll -h
total 36K
drwxr-xr-x  2 root root  262 Jul 20 18:43 bin
drwxr-xr-x  2 root root  167 Jul 20 18:43 build
drwxr-xr-x  2 root root   78 Jul 20 18:43 cgi-bin
drwxr-xr-x  4 root root   84 Jul 20 18:43 conf
drwxr-xr-x  3 root root 4.0K Jul 20 18:43 error
drwxr-xr-x  2 root root   24 Jul 20 18:43 htdocs
drwxr-xr-x  3 root root 8.0K Jul 20 18:43 icons
drwxr-xr-x  2 root root 4.0K Jul 20 18:43 include
drwxr-xr-x  2 root root    6 Jul 20 18:43 logs
drwxr-xr-x  4 root root   30 Jul 20 18:43 man
drwxr-xr-x 14 root root 8.0K Jul 20 18:43 manual
drwxr-xr-x  2 root root 4.0K Jul 20 18:43 modules

[root@node01 httpd]# cd bin/

[root@node01 bin]# ./apachectl start
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.6.101. Set the 'ServerName' directive globally to suppress this message
httpd (pid 548) already running

httpd已经运行
[root@node01 bin]# netstat -anp |grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      548/httpd 

[root@node01 bin]# ./apachectl stop
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.6.101. Set the 'ServerName' directive globally to suppress this message

修改配置文件
[root@node01 conf]# pwd
/usr/local/httpd/conf
[root@node01 conf]# vim httpd.conf
ServerName 192.168.6.101:80

[root@node01 bin]# ./apachectl stop
[root@node01 bin]# ./apachectl start
[root@node01 bin]# ps -ef |grep httpd
root       3236      1  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     3237   3236  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     3238   3236  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     3239   3236  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     3240   3236  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
daemon     3241   3236  0 18:52 ?        00:00:00 /usr/local/httpd/bin/httpd -k start
root       3352   1706  0 18:52 pts/0    00:00:00 grep --color=auto httpd
[root@node01 bin]# 

[root@node01 bin]# netstat -anp | grep httpd
tcp6       0      0 :::80                   :::*                    LISTEN      3236/httpd    




[root@node01 htdocs]# more index.html 
<html><body><h1>It works!</h1></body></html>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode870. 优势洗牌(java)

优势洗牌 leetcode870. 优势洗牌题目描述双指针 排序代码 滑动窗口 leetcode870. 优势洗牌 难度 - 中等 leetcode870. 优势洗牌 题目描述 给定两个长度相等的数组 nums1 和 nums2&#xff0c;nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i] 的索引 i 的数目来描…

Kubernetes集群部署

环境 > 192.168.50.53 k8s-master > 192.168.50.51 k8s-node1 > 192.168.50.50 k8s-node2 必须不能少于两核两G 所有主机共同操作 主机初始化配置 所有主机配置禁用防火墙和selinux [rootserver ~]# setenforce 0 [rootserver ~]# iptables -F [rootserver ~]…

【MySQL】ER模型(十六)

&#x1f697;MySQL学习第十六站~ &#x1f6a9;本文已收录至专栏&#xff1a;MySQL通关路 ❤️文末附全文思维导图&#xff0c;感谢各位点赞收藏支持~ ⭐学习汇总贴&#xff0c;超详细思维导图&#xff1a;【MySQL】学习汇总(完整思维导图) 一.引入 数据库设计是牵一发而动全…

RocketMQ Learning(一)

目录 一、RocketMQ 0、RocketMQ的产品发展 1、RocketMQ安装 1.1、windows下的安装 注意事项 1.2、Linux下的安装 1.3、源码的安装 1.4、控制台 2、消息发送方式 2.1、发送同步消息 2.2、发送异步消息 2.3、单向发送 3、消息消费方式 3.1、负载均衡模式&#xff0…

编写第一个 React Native 程序

React Native 目录 使用React Native CLI命令创建的目录如下图所示&#xff1a; 重要目录说明 目录说明__tests__存放测试用例的目录.bundle / config配置文件&#xff08;一般不会用到&#xff09;android 和 IOS 文件夹这两个文件夹主要是存放安卓和 ios 相关的配置文件和…

XML 学习笔记 7:XSD

本文章内容参考自&#xff1a; W3school XSD 教程 Extensible Markup Language (XML) 1.0 (Second Edition) XML Schema 2001 XML Schema Part 2: Datatypes Second Edition 文章目录 1、XSD 是什么2、XSD 内置数据类型 - built-in datatypes2.1、基本数据类型 19 种2.1.1、基本…

【Spring Boot】构建RESTful服务 — 构建RESTful应用接口

构建RESTful应用接口 RESTful架构是目前最流行的互联网软件架构规范&#xff0c;是Web API&#xff08;应用编程接口&#xff09;的大趋势和主流规范&#xff0c;了解了RESTful的众多优点之后&#xff0c;接下来一步一步地学习如何使用Spring Boot构建RESTful Web API。 1.Sp…

途乐证券-光伏、储能板块拉升 德业股份、固德威等大幅走高

光伏、储能等新能源板块10日盘中震荡上扬&#xff0c;截至发稿&#xff0c;德业股份涨近8%&#xff0c;锦浪科技、固德威、阿特斯等涨逾6%&#xff0c;禾迈股份、昱能科技涨近4%。 消息面上&#xff0c;据中关村储能产业技术联盟计算&#xff0c;2021年至2023年上半年&#xff…

rust关于项目结构包,Crate和mod和目录的组织

rust 最近开始学习rust语言。感觉这门语言相对java确实是难上很多。开几个文章把遇到的问题记录一下 rust关于包&#xff0c;Crate 关于包&#xff0c;Crate这块先看看官方书籍怎么说的 crate 是 Rust 在编译时最小的代码单位。如果你用 rustc 而不是 cargo 来编译一个文件…

Android 内存泄漏

名词解释 内存泄漏:即memory leak。是指内存空间使用完毕后无法被释放的现象&#xff0c;虽然Java有垃圾回收机制&#xff08;GC&#xff09;&#xff0c;但是对于还保持着引用&#xff0c; 该内存不能再被分配使用&#xff0c;逻辑上却已经不会再用到的对象&#xff0c;垃圾回…

安装CUDA与CUDNN与Pytorch(最新超级详细图文版本2023年8月最新)

一、安装CUDA 1.1、下载安装包 cuda可以认为就是Nvidia为了显卡炼丹搞的一个软件&#xff0c;其下载地址为&#xff1a;CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer 当你点进这个链接的时候&#xff0c;你需要依次选择 1是选择系统&#xff0c;这里选windows…

Netty面试题1

计算机网络模型 OSI采用了分层的结构化技术&#xff0c;共分七层&#xff0c; 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 。 Open System Interconnect 简称OSI&#xff0c;是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参…

医疗保健中的 NLP:实体链接

一、说明 HEalthcare和生命科学行业产生大量数据&#xff0c;这些数据是由合规性和监管要求&#xff0c;记录保存&#xff0c;研究论文等驱动的。但随着数据量的增加&#xff0c;搜索用于研究目的的必要文件和文章以及数据结构成为一个更加复杂和耗时的过程。例如&#xff0c;如…

微信小程序中的分包使用介绍

一、分包的好处 可以优化小程序首次启动的下载时间 在多团队共同开发时可以更好的解耦协作 主包&#xff1a;放置默认启动页面/TabBar 页面&#xff0c;公共资源/JS 脚本 分包&#xff1a;根据开发者的配置进行划分 限制&#xff1a;所有分包大小不超过 20M&#xff0c;单…

无人驾驶实战-第十二课(强化学习自动驾驶系统)(完)

在七月算法上报了《无人驾驶实战》课程&#xff0c;老师讲的真好。好记性不如烂笔头&#xff0c;记录一下学习内容。 课程入口&#xff0c;感兴趣的也可以跟着学一下。 ————————————————————————————————————————— 强化学习&#xff…

php webshell 免杀入门

webshell 查杀软件&#xff1a; d盾、安全狗、护卫神、Sangfor WebShellKill 在线查杀 百度WEBDIR https://scanner.baidu.com 河马 https://www.shellpub.com cloudwalker牧云 https://webshellchop.chaitin.cn 查杀技术 静态检测、动态检测、日志检查 静态检查&#xff1a…

通用FIR滤波器的verilog实现(内有Lowpass、Hilbert参数生成示例)

众所周知&#xff0c;Matlab 中的 Filter Designer 可以直接生成 FIR 滤波器的 verilog 代码&#xff0c;可以方便地生成指定阶数、指定滤波器参数的高通、低通、带通滤波器&#xff0c;生成的 verilog 代码也可以指定输入输出信号的类型和位宽。然而其生成的代码实在算不上美观…

智能型静电消除器的优势有哪些?

智能型静电消除器是一种使用先进技术和智能控制系统来消除静电问题的设备。静电是由于电荷不平衡而引起的现象&#xff0c;常见于工业生产、医疗设备、办公环境等场合。静电的存在可能导致电子设备故障、火灾、等问题。 智能型静电消除器与传统静电消除器相比&#xff0c;具有以…

Python做一个绘图系统3:从文本文件导入数据并绘图

文章目录 导入数据文件对话框修改绘图逻辑源代码 Python绘图系统系列&#xff1a;将matplotlib嵌入到tkinter 简单的绘图系统 导入数据 单纯从作图的角度来说&#xff0c;更多情况是已经有了一组数据&#xff0c;然后需要将其绘制。这组数据可能是txt格式的&#xff0c;也可能…