首页 > 编程语言 >02 源码编译安装LAMP

02 源码编译安装LAMP

时间:2024-07-14 18:31:04浏览次数:7  
标签:02 httpd www com LAMP 源码 mysql Apache root

      

目录

2.1Apache网站服务基础

2.1Apache简介

1. Apache的起源

起源背景

Apache的诞生

Apache软件基金会的成立

Apache的流行和影响

2.1.1 安装httpd服务器

1.准备工作

2.源码编译及安装

(1)解包

(2)配置

(3)编译及安装

3.确认安装结果

4 优化执行路径

5.添加httpd系统服务

2.2 httpd 服务器的基本配置

1:确定网站名称、IP 地址

2:配置并启动 httpd 服务

(1)配置 httpd 服务

(2)启动 httpd 服务

3:部署网页文档

4:查看 Web 站点的访问情况

2.3 构建虚拟 Web 主机

1:为虚拟主机提供域名解析(两个域名)

2:为虚拟主机准备网页文档(两个网站) 

3:添加虚拟主机配置 

4:在客户机中访问虚拟 Web 主机 

2.4 基于 IP 地址、基于端口的虚拟主机

1:为主机设置多个IP地址

2:基于 IP 地址的虚拟主机 

3:基于端口的虚拟主机 

2.5 MySQL 的编译安装

1:准备工作

(1)检查安装环境

(2)安装cmake

2:源码编译及安装

(1)创建运行用户

(2)解包

(3)配置

(4)编译并安装

3:安装后的其他调整

(1)对数据库目录进行权限设置

(2)建立配置文件

(3)初始化数据库

 4:启动并访问 MySQL 服务

2.6 构建 PHP 运行环境

1:准备工作

2:安装扩展工具库

(1)安装 libmcrypt

 (2)安装 mhash

(3)安装 mcrypt 

3:编译安装 PHP

(1)解包

 (2)配置

(3)编译及安装

2.7 设置 LAMP 组件环境

1:php.ini 配置调整

(1)php.ini 的建立及基本设置

(2)添加 ZendGuardLoader 优化模块 

 2:httpd.conf 配置调整

2.8 测试 LAMP 协同工作

1:测试 PHP 网页能否正确显示

2:测试 PHP 网页能否访问 MySQL 数据库 


         LAMP 架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web 站点服务及其应用开发环境。LAMP 是一个缩写词,具体包括 Linux 操作系统、Apache 网站服务器、MySQL数据库服务器、PHP(或 Per、Python)网页编程语言。

        在构建 LAMP 平台时,各组件的安装顺序依次为 Linux、Apache、MySQL、PHP其中 Apache 和 MySQL 的安装并没有严格的顺序;而 PHP 环境的安装一般放到最后,负责沟通 Web 服务器和数据库系统以协同工作。

2.1Apache网站服务基础

2.1Apache简介

        "Apache HTTP Server"是开源软件项目的杰出代表,它基于标准的 HTTP 网络协议提供网页浏览服务,在 Web 服务器领域中长期保持着超过半数的份额。Apache 服务器可以运行在 Linux、UNIX、Windows 等多种操作系统平台中。

1. Apache的起源

Apache HTTP Server(简称Apache)的起源可以追溯到NCSA httpd服务器,其名称Apache取自“A Patchy Server”的读音,意为“基于原有Web服务程序的代码进行修改(补丁)后形成的服务器程序”。以下是Apache起源的详细概述:

起源背景
  • 前身:Apache HTTP Server的前身是NCSA httpd服务器,这是一个由美国国家超级电脑应用中心(National Center for Supercomputing Applications,NCSA)开发的Web服务器软件。
  • 发展:随着互联网的兴起,Web服务器的需求日益增长,NCSA httpd服务器因其性能限制和缺乏扩展性而难以满足日益增长的需求。此时,一群开发者开始对NCSA httpd服务器进行修改和完善,以提高其性能和可扩展性。
Apache的诞生
  • 成立Apache Group:这群开发者逐渐形成了Apache Group,他们致力于对NCSA httpd服务器进行持续的开发和维护。Apache Group的成立标志着Apache HTTP Server项目的正式启动。
  • 发布版本:1995年,Apache Group发布了Apache HTTP Server的1.0版本,这一版本在性能和功能上都有了显著提升,逐渐赢得了用户的青睐。
Apache软件基金会的成立
  • 背景:随着Apache HTTP Server的流行和成功,Apache Group在1999年进一步发展为Apache软件基金会(Apache Software Foundation,ASF)。ASF是一个非营利性组织,致力于开源软件的开发和推广。
  • 目标:ASF的成立为Apache HTTP Server的发展提供了更加坚实的后盾,它吸引了更多的开发者参与到Apache项目的开发中来,推动了Apache HTTP Server的不断进步和创新。
Apache的流行和影响
  • 全球排名:经过多年的发展,Apache HTTP Server已经成为世界使用排名第一的Web服务器软件,其市场占有率一直保持在较高水平。
  • 特点:Apache HTTP Server以其跨平台、安全性高、模块化设计以及丰富的功能特性而著称。它支持多种操作系统平台,可以轻松地与各种编程语言和数据库进行集成,为开发者提供了极大的灵活性和便利性。

2.1.1 安装httpd服务器

在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件。httpd 服务器的安装可以选用 RPM 安装、源码编译安装这两种方式,前者相对比较简单、快速,但是在功能上存在一定的局限性。

1.准备工作

为了避免发生端口冲突、程序冲突等现象,建议卸载使用RPM 方式安装的httpd.httpd 服务编译安装时需要依赖 apr-util-devel、pcre-devel 等软件,因此在 httpd 编译安装之前需要先安装依赖软件。

检查是否已经安装httpd

关闭防火墙

如果提示错误,证明没有rpm安装的httpd

  1. apr-util-devel
    • apr-util 是Apache Portable Runtime Utility Libraries的缩写,它是Apache可移植运行时(APR)的一部分,但提供了额外的实用程序功能,如数据库连接池、加密和URI解析等。
    • apr-util-devel 包包含了开发apr-util库所需的头文件、链接库以及可能的文档和示例代码。如果你需要编译依赖于apr-util的应用程序或库,这个包是必须的。
  1. pcre-devel
    • PCRE(Perl Compatible Regular Expressions)是一个Perl兼容的正则表达式库,它提供了正则表达式的全面支持,包括Perl的许多高级特性。
    • pcre-devel 包包含了开发时需要的PCRE库的头文件和开发文档,这对于编译需要PCRE支持的应用程序或库是必要的。
  1. gcc*
    • GCC(GNU Compiler Collection)是GNU项目的一部分,是一套编程语言编译器,支持多种编程语言,包括C、C++、Objective-C、Fortran、Ada和Go等。
    • gcc* 通常不是一个具体的包名,而是指与GCC编译器相关的多个包。在安装GCC时,你可能会看到如gcc、gcc-c++(C++编译器)、gcc-objc(Objective-C编译器)等不同的包。根据你的需要,你可能需要安装这些包中的一个或多个。
    • GCC是编译和构建许多Linux应用程序和库所必需的编译器。
  1. lrzsz
    • lrzsz 是两个程序lrz和lsz的集合,这两个程序用于通过串行通信线路(如telnet或SSH)在本地和远程系统之间传输文件。lrz用于接收文件,而lsz用于发送文件。
    • 尽管lrzsz主要用于文件传输,但在某些情况下,它可能是安装或配置某些软件时的一个依赖项,特别是那些需要与远程系统交换数据的软件。
2.源码编译及安装
(1)解包

将下载获得的 httpd 源码包解压并释放到/usr/src 目录下,且切换到展开后的源码目录中。

(2)配置

根据服务器的实际应用需要,可以灵活设置不同的定制选项,如指定安装路径、启用字符集支持等。若要获知可用的各种配置选项及其含义,可以执行“./configure --help命令

--prefix:制定程序的安装目录

--enable-so:启用动态加载模块DSO的支持,使httpd具备进一步扩展功能的能力

--enable-rewrite:启用网页地址重写功能,用于网站优化

--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页

--enable-cgi:启用cgi脚本程序支持,扩展网站的应用访问能力

(3)编译及安装

上面执行后显示版本及配置成功

3.确认安装结果

4 优化执行路径

5.添加httpd系统服务
[root@bogon system]# cd /lib/systemd/system
[root@bogon system]# vim httpd.service

[Unit]
Description=The Apache HTTP Server
After=network.target

[Service]
Type=fotking
PIDFile=/usr/local/httpd/logs/httpd.pid
ExecStart=/usr/local/bin/apachectl  $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
[install]
WantedBy=multi-user.target

 
 注释:
After=network.target
Before/After:要是一个服务 Before 另一个服务,那么在并行启动时(Systemd 总是用进程 0 并行启动所有东西,然后通过这两个标记来二次等待排序),那另一个服务这时就会等这个服务先启动并返回状态,注意是先启动而不是启动成功,因为失败也是一种状态,一定要成功才启动另一个服务是通过依赖关系定义的。反之 After 亦然。After=network.target 指的是后于network服务启动。

Type=forking
服务的启动方式,有fork方式和simple方式
forking的方式在启动程序后会调用 fork() 函数,把必要的通信频道都设置好之后父进程退出,留下守护精灵的子进程。你要是使用的这种方式,最好也指定下 PIDFILE=,不要让 Systemd 去猜,非要猜也可以,设置 GuessMainPID 为 yes。

ExecReload= /bin/kill -HUP $MAINPID 
$ MAINPID是服务的systemd变量,它指向主应用程序的PID

WantedBy=multi-user.target
指定运行级别
  

2.2 httpd 服务器的基本配置

1:确定网站名称、IP 地址

2:配置并启动 httpd 服务

(1)配置 httpd 服务
 [root@www system]# vim /usr/local/httpd/conf/httpd.conf 
 修改网站名称:
ServerName www.benet.com
[root@www ~]# httpd -t
Syntax OK
(2)启动 httpd 服务

3:部署网页文档

[root@localhost ~]# vim /etc/hosts
添加域名解析:
192.168.10.101 www.benet.com

[root@localhost ~]# curl www.benet.com
<html><body><h1>It works!</h1></body></html>

4:查看 Web 站点的访问情况

2.3 构建虚拟 Web 主机

1:为虚拟主机提供域名解析(两个域名)

[root@www ~]# vim /etc/hosts
192.168.10.101 www.benet.com
192.168.10.101 www.accp.com

2:为虚拟主机准备网页文档(两个网站) 

[root@www ~]# mkdir -p /var/www/html/benetcom
[root@www ~]# mkdir -p /var/www/html/accpcom
[root@www ~]# echo "<h1>www.benet.com</h1>"> /var/www/html/benetcom/index.html
[root@www ~]# echo "<h1>www.accp.com</h1>"> /var/www/html/accpcom/index.html

3:添加虚拟主机配置 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

<Directory "/var/www/html">
Require all granted 
</Directory>

<VirtualHost *:80>
    DocumentRoot "/var/www/html/benetcom"
    ServerName www.benet.com
    ErrorLog "logs/www.benet.com.error_log"
    CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "/var/www/html/accpcom"
    ServerName www.accp.com
    ErrorLog "logs/www.accp.com.error_log"
    CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>


[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
去掉注释符号:
Include conf/extra/httpd-vhosts.conf

[root@www ~]# systemctl restart httpd

4:在客户机中访问虚拟 Web 主机 

[root@node2 ~]# cat /etc/hosts
192.168.10.101 www.benet.com
192.168.10.101 www.accp.com


[root@node2 ~]# curl www.benet.com
<h1>www.benet.com</h1>

[root@node2 ~]# curl www.accp.com
<h1>www.accp.com</h1>

2.4 基于 IP 地址、基于端口的虚拟主机

1:为主机设置多个IP地址

[root@www ~]# cd /etc/sysconfig/network-scripts/
[root@www network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@www network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1

[root@www network-scripts]# vim ifcfg-ens33:0
IPADDR=192.168.10.210
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
NAME=ens33:0
DEVICE=ens33:0

[root@www network-scripts]# vim ifcfg-ens33:1
IPADDR=192.168.10.220
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
NAME=ens33:1
DEVICE=ens33:1

[root@www network-scripts]# systemctl restart network
[root@www network-scripts]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:21:68:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.101/24 brd 192.168.10.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.10.220/24 brd 192.168.10.255 scope global secondary noprefixroute ens33:1
       valid_lft forever preferred_lft forever
    inet 192.168.10.210/24 brd 192.168.10.255 scope global secondary noprefixroute ens33:0
       valid_lft forever preferred_lft forever
    inet6 fe80::91e7:44c5:3a3:b5d1/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@www network-scripts]# 

2:基于 IP 地址的虚拟主机 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/var/www/html">
Require all granted
</Directory>

<VirtualHost 192.168.10.210:80>
    DocumentRoot "/var/www/html/benetcom"
    ServerName www.benet.com
    ErrorLog "logs/www.benet.com.error_log"
    CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>


<VirtualHost 192.168.10.220:80>
    DocumentRoot "/var/www/html/accpcom"
    ServerName www.accp.com
    ErrorLog "logs/www.accp.com.error_log"
    CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>
[root@www ~]# systemctl restart httpd
客户端测试
[root@node2 ~]# curl 192.168.10.210
<h1>www.benet.com</h1>

[root@node2 ~]# curl 192.168.10.220
<h1>www.benet.com</h1>

3:基于端口的虚拟主机 

[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
<Directory "/var/www/html">
Require all granted
</Directory>

Listen 80
Listen 8080

<VirtualHost 192.168.10.101:80>
    DocumentRoot "/var/www/html/benetcom"
    ServerName www.benet.com
    ErrorLog "logs/www.benet.com.error_log"
    CustomLog "logs/www.benet.com.access_log" common
</VirtualHost>


<VirtualHost 192.168.10.101:8080>
    DocumentRoot "/var/www/html/accpcom"
    ServerName www.accp.com
    ErrorLog "logs/www.accp.com.error_log"
    CustomLog "logs/www.accp.com.access_log" common
</VirtualHost>


[root@www ~]# systemctl restart httpd
[root@www ~]# netstat -anpt | grep httpd




客户端测试
[root@node2 ~]# curl 192.168.10.101:80
<h1>www.benet.com</h1>

[root@node2 ~]# curl 192.168.10.101:8080
<h1>www.accp.com</h1>

2.5 MySQL 的编译安装

1:准备工作

(1)检查安装环境

备注:

初始化mysql需要autoconf,它是自动化配置脚本生成工具,安装自动化脚本生成工具

(2)安装cmake
[root@www ~]# tar zxf cmake-2.8.6.tar.gz 
[root@www ~]# cd cmake-2.8.6 
[root@www cmake-2.8.6]# ./configure 
[root@www cmake-2.8.6]# gmake && gmake install

备注:
此步骤可以用yum的方法安装cmake
yum -y install cmake

2:源码编译及安装

(1)创建运行用户

(2)解包

(3)配置
[root@www ~]# cd mysql-5.6.36
[root@www mysql-5.6.36]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all

-DDEFAULT_COLLATION:用于指定数据集如何排序,以及字符串的比对规则
(4)编译并安装

3:安装后的其他调整

(1)对数据库目录进行权限设置

(2)建立配置文件

(3)初始化数据库
[root@www mysql-5.6.36]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

 4:启动并访问 MySQL 服务

[root@www mysql-5.6.36]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@www mysql-5.6.36]#  chmod +x /etc/rc.d/init.d/mysqld
[root@www mysql-5.6.36]# chkconfig --add mysql
服务 mysql 信息读取出错:没有那个文件或目录
[root@www mysql-5.6.36]# chkconfig --add mysqld
[root@www mysql-5.6.36]# chkconfig mysqld on
[root@www mysql-5.6.36]# systemctl start mysql
[root@www mysql-5.6.36]# netstat -anpt | grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      57921/mysqld        
[root@www mysql-5.6.36]# mysql -u root -p
Enter password:                             //密码是空的
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 Source distribution

Copyright (c) 2000, 2017, 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> set password =password('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@www mysql-5.6.36]# 

2.6 构建 PHP 运行环境

1:准备工作

为了避免发生程序冲突等现象,建议先将 RPM 方式安装的 PHP 及相关依赖包

2:安装扩展工具库

(1)安装 libmcrypt
[root@www ~]# tar zxf libmcrypt-2.5.8.tar.gz
[root@www ~]# cd libmcrypt-2.5.8/ 
[root@www libmcrypt-2.5.8]# ./configure 
[root@www libmcrypt-2.5.8]# make && make install 
[root@www libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/    //做个软连接
 (2)安装 mhash
[root@www ~]# tar zxf mhash-0.9.9.9.tar.gz 
[root@www ~]# cd mhash-0.9.9.9/ 
[root@www mhash-0.9.9.9]# ./configure 
[root@www mhash-0.9.9.9]# make && make install 
[root@www mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/
(3)安装 mcrypt 
[root@www ~]# tar zxf mcrypt-2.6.8.tar.gz
[root@www ~]# cd mcrypt-2.6.8/ 
[root@www mcrypt-2.6.8]# ./configure 
[root@www mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH 
[root@www mcrypt-2.6.8]# ./configure 
[root@www mcrypt-2.6.8]# make && make install

3:编译安装 PHP

(1)解包
[root@www ~]# tar zxf php-5.5.38.tar.gz
[root@www ~]# cd php-5.5.38
 (2)配置
[root@www php-5.5.38]# ./configure --prefix=/usr/local/php5 \
--with-mcrypt \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 

注意:

不能用192.168.10.101连接。

想用主机IP连接需要在安装php时指定mysql函数集为mysqlnd

--with-mysqli=mysqlnd

如果使用本地函数集,php连接mysql数据库可以使用localhost、127.0.0.1、本机主机名

,但不能用本机IP地址192.168.10.101

--with-apxs2=/usr/local/httpd/bin/apxs

整合apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到apache,要求apache要打开SO模块

(3)编译及安装
[root@www php-5.5.38]# make && make install

备注:
这一步时间很长



备注:
./configure --prefix=/usr/local/php5 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 

2.7 设置 LAMP 组件环境

1:php.ini 配置调整

(1)php.ini 的建立及基本设置
[root@www php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@www php-5.5.38]# vim /usr/local/php5/php.ini

default_charset = "UTF-8"         #去掉前面的注释
file_uploads = On 
upload_max_filesize = 2M 
max_file_uploads = 20 
post_max_size = 8M 
short_open_tag = On         ##修改值
extension=php_mysqli.dll        ##去掉前面的注释
(2)添加 ZendGuardLoader 优化模块 
[root@www~]#tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz
[root@www~]#cd zend-loader-php5.5-linux-x86_64/ 
[root@www zend-loader-php5.5-linux-x86_64]#cp ZendGuardLoader.so /usr/local/php5/lib/php
[root@www ~]# vim /usr/local/php5/php.ini 
在[PHP]下面添加:

[PHP]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so 
zend_loader.enable=1

 2:httpd.conf 配置调整

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf
Listen *:80 
…… //省略部分内容 
LoadModule php5_module modules/libphp5.so 

<IfModule mime_module>
AddType application/x-httpd-php .php 
</IfModule>

DirectoryIndex index.html index.php
#Include conf/extra/httpd-vhosts.conf
[root@www ~]# apachectl -t 
Syntax OK 
[root@www ~]# systemctl restart httpd

2.8 测试 LAMP 协同工作

1:测试 PHP 网页能否正确显示

[root@www ~]# vim /usr/local/httpd/htdocs/test1.php 
<?php 
phpinfo( ); 
?>

2:测试 PHP 网页能否访问 MySQL 数据库 

[root@www ~]# vim /usr/local/httpd/htdocs/test2.php 
<?php 
$link=mysqli_connect('localhost','root','123456'); 
if($link) echo "恭喜你,数据库连接成功啦!!"; 
mysqli_close($link); 
?> 

注意:
对数据库的连接授权,授权后可以使用主机名连接
mysql> grant all on *.* to root@'www.benet.com' identified by '123456';

注意:
如果用的是mysqlnd,要用IP地址进行连接,127.0.0.1或192.168.10.101都可以

标签:02,httpd,www,com,LAMP,源码,mysql,Apache,root
From: https://blog.csdn.net/qq_51678989/article/details/140252875

相关文章

  • 2024/7/13 ABC362 比赛记录
    7/14:昨晚打的abc,外面下着大雨;1650ptsrank975T1:简单签到题,愣是被我拖了7min死因:开赛时老师开始收手机,一直叫我名,我一着急装了两个翻译插件,导致页面错版。时间宝贵,于是我艰难的对照样例勉强读懂题(T2:计算几何?给平面直角坐标系3点,判rt三角形。直接double勾股定理算边......
  • STM32H750XBH6使用LTDC点亮7英寸LCD(1024*600)
    起因最近画的板子回来了,正好试验一下画的LCD接口是否有问题,买的正点原子的7寸lcd屏幕,使用Cubemx去配置LTDC点亮lcd。工程配置首先打开Cubemx,选好芯片型号(我用的是STM32H750XBH6),配置高速外部时钟;时钟树配置主频为400MHz(时钟速度按照自己需求来,我一般开到400M完全够用);打开......
  • 【嵌入式DIY实例-ESP8266篇】-LCD1602显示DS1621传感器数据
    LCD1602显示DS1621传感器数据文章目录LCD1602显示DS1621传感器数据1、DS1621介绍2、硬件准备与接线3、代码实现在本文中,介绍如何将ESP8266NodeMCU板(ESP-12E)与DS1621数字温度传感器连接,其中温度值(摄氏度和华氏度)打印在1602LCD屏幕上。本项目......
  • 2024年还可以免费使用的cdn加速,真可用
    先给大家看个图 没错,这就是这家cdn官方放出来的使用情况,貌似很猛呀!!!直接先放地址https://cdnuser.commonweal.site/console/index.html注册后看后台公告,不要管标价,这家cdn可以根据公告内容免费申请一年!!!没错,就是一年,这个站也套的自己的cdn,速度还是挺快的,全国三网也就50ms左......
  • 失败笔记本--OPENCV--001--202407
    失败笔记本-OPENCV篇-001项目场景:今天研究一下用OPENCV基于轮廓分析查找数字,参考地址为:OpenCV案例|基于轮廓分析查找数字实现的效果如下:1.打开一张图片步骤:首先呢还是丝滑小连招,打开图片,灰度化,二值化在opencv中使用imread打开图片,使用imshow展示图片,不过要注意在ims......
  • 【2023-2024第二学期】助教工作学期总结
    一、助教工作的具体职责和任务协助老师批改作业、小测,对同学提出的问题进行解答。二、助教工作的每周时长和具体安排没有具体的时长和安排,在老师布置的作业截至后,对作业进行批改。三、因为自己的助教工作,对课程、老师、学生的帮助和带来的改变1、对课程:了解学生学习过......
  • 2024.07.14模拟赛总结
    前言:又上头了T1赛时做法:首先,假设对答案做出贡献的是点x,y,设y的祖先且为x的儿子的点为z,那么显然,把除了z以外的所有都归入集合是最优的,因为这不会影响对y的统计且尽量满足了限制于是就枚举点x但这时,我不会了,我知道启发式合并可以做,但我不会(忘了),于是我想线段树合并,事实证明,还是有......
  • Java计算机毕业设计个性化旅游景点推荐网站(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在旅游业蓬勃发展的今天,随着人们生活水平的提高和休闲时间的增加,个性化旅游需求日益凸显。传统旅游推荐方式往往基于热门景点或固定线路,难以满足游客......
  • Java计算机毕业设计多媒体素材管理库(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,多媒体素材在教育教学、广告宣传、影视制作等多个领域的应用日益广泛。然而,多媒体素材的种类繁多、数量庞大,如何高效地存储、......
  • 003java jsp SSM在线医院医疗服务系统医院预约挂号医生坐诊健康资讯(源码+文档+开题+运
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......