网页的架构

LNMP | LAMP

1.介绍 ‌LNMPLAMP都是用于搭建Web服务器的解决方案,但它们的区别在于所使用的软件组合不同。

  • LAMP‌代表LinuxApacheMySQLPHP/Perl/Python。在Ubuntu上搭建LAMP服务器需要安装Apache作为Web服务器、MySQL作为数据库服务器和PHP/Perl/Python作为服务器端脚本解释器。LAMP架构广泛用于建立Web应用平台,特别是对于中小企业和个人开发者来说,由于其开源和免费的特性,LAMP成为了一个经济高效的选择。

  • LNMP‌代表LinuxNginxMySQLPHP/Perl/Python。在Ubuntu上搭建LNMP服务器需要安装Nginx作为Web服务器、MySQL作为数据库服务器和PHP/Perl/Python作为服务器端脚本解释器。Nginx在处理静态文件时速度快且消耗系统资源极少,性能稳定、功能丰富、运维简单。

简而言之,LAMP和LNMP的主要区别在于它们使用的Web服务器软件不同,LAMP使用Apache,而LNMP使用Nginx。这两种解决方案都是构建Web应用程序和托管动态网站的标准架构,选择哪种方案取决于特定的性能需求和系统资源的使用情况‌12。

2.如何架构一个网站?有哪些内容组成,工具如何配合使用?

简单原理:

具体创建步骤是什么

Php

1.1安装PHP
[root@lnmp ~]# yum -y install php74-php-xsl php74-php php74-php-cli php74-php-devel php74-php-gd php74-php-pdo php74-php-mysql php74-php-fpm
2启动PHP-FPM
[root@lnmp ~]# systemctl start php74-php-fpm
3查看启动状态
[root@lnmp ~]# ss -nplt | grep 9000

安装mysql

1.找到官网安装mysql

找到下载选择如下

点击

选择相应的os版本点击下载

右击复制其链接

2.下载并配置MySQL官方Yum源
https://dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
但是此网站只有8.0/8.4版本修改为180即可
https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

​四种下载方式
[root@lnmp ~]# yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@lnmp ~]# rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@lnmp ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
[root@lnmp ~]# yum -y install mysql84-community-release-el7-1.noarch.rpm

在本地服务器从该地址下载并配置

[root@lnmp ~]# yum -y install mysql-community-server --disablerepo mysql80-community-server --enablerepo mysql57-community-server

3.在本地yum直接安装
yum -y install mysql-server

3.1启动MySQL5.7
systemctl start mysqld(第一次启动会有初始化生成一些文件过程)
(在目录下的var/log/mysqld.log:生成的临时密码)
​
3.2获取对用户的临时密码
grep "passwd" mysqld.log:获取对用户的临时密码
或者
awk '/A temporary password/{p=$NF}END{print p}' /var/log/mysqld.log
​
注意:可以直接使用下面命令更快捷
3.3进行修改密码为:Jiangge@123456
mysqladmin -uroot -p"awk '/A temporary password/{p=$NF}END{print p}' /var/log/mysqld.log"  password  "new_passwd"

注意密码格式:大小写字母+特殊字符+数字

注意

当原秘密已经忘记,并且该用户对MySQL 具有修改权限可进行如下步骤进行修改新密码

如果您已经忘记了MySQL的root密码,并且您有权限访问服务器,您可以按照以下步骤重置密码:

  1. 执行vim /etc/my.cnf 添加 skip-grant-tables 可以直接无密码登录

  2. 重启systemctl restart mysqld

  3. 登录到MySQL:

    mysql -u root

  4. 在MySQL命令行中,用以下命令刷新权限表并设置新密码:

    FLUSH PRIVILEGES;

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

    new_password替换为您想要设置的新密码。

  5. 退出MySQL命令行:

    quit

  6. 关闭MySQL服务(如果它还在运行)并重新启动它:

    sudo systemctl start mysql

  7. 再用修改的新密码进行登录即可

    注意:得删除添加的语句,否则每个有权限的用户都可以进行无密码操作十分不安全

3.4登录数据库
mysql -uroot -p+username@123

Nginx关联PHP

1.进入编辑该文件


vim  +42 /etc/nginx/nginx.conf
#在第42行后面添加以下内容
index   index.php index.html index.htm;
        location ~ \.php$
         {
                  include fastcgi_params;
                  fastcgi_pass 127.0.0.1:9000;
                  fastcgi_index index.php;
                  fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
          }
[root@lnmp]# nginx -s reload

2.测试一个小页面
[root@lnmp]# vim /usr/share/nginx/html/index.php
<?php
phpinfo();
?>

3.浏览器访问(以服务器主机IP为主)
http://192.168.113.126

发布wordpress

1、上传wordpress压缩包
    rz
2、解压缩
    tar -xf wordpress-6.2.2-zh_CN.tar.gz
3、拷贝至nginx根目录下
    cp -r wordpress/* /usr/share/nginx/html/
4、修改权限
    chown -R nginx.nginx /usr/share/nginx/html/
    chmod -R 777 /usr/share/nginx/html/
5、浏览器安装

补充

| 管道

在Linux系统中,管道(pipe)是一种强大的工具,它允许将一个命令的输出作为另一个命令的输入,从而实现命令之间的数据传递和处理。使用管道的基本语法是:command1 | command2,其中command1的输出将作为command2的输入。通过这种方式,可以组合多个命令来完成复杂的任务。

管道的工作原理

当使用管道连接两个命令时,第一个命令的输出不会直接显示在终端上,而是通过管道传递给第二个命令作为输入。第二个命令处理第一个命令的输出,并将结果输出到终端上。这样,就实现了多个命令之间的数据传递和处理。

管道的示例
  • - •**排序命令示例**•:使用`ls -l | sort`命令可以列出当前目录下的文件和文件夹,并通过管道将结果传递给`sort`命令进行排序,最终按照文件名的字母顺序输出排序后的结果。
    - •**过滤命令示例**•:通过`ps aux | grep "process"`命令列出当前系统中所有的进程信息,并使用`grep "process"`筛选出包含"process"关键字的进程信息,最终输出匹配的结果。
    - •**统计命令示例**•:使用`cat file.txt | wc -l`命令统计文件的行数,其中`cat file.txt`将文件内容输出,通过管道传递给`wc -l`命令进行行数统计,最终输出文件的行数。

此外,还可以使用管道与其他命令结合,实现更复杂的操作,如查找特定进程、统计文件中单词数等。通过组合不同的命令,可以实现数据的筛选、排序、统计等多种处理方式,从而完成复杂的任务。

使用管道时,还需要注意以下几点:

  • - 确保使用的命令支持管道输入和输出。
    - 管道是单向的,如果需要双向通信,则需要使用其他进程间通信机制。
    - 管道中的数据是按顺序传输的,且数据是无格式的字节流,通信双方需要协商好数据格式。
    - 管道中的数据是临时性的,不占用磁盘空间,但有大小限制,超过限制会阻塞。
    - 管道在最后一个读或写进程关闭后自动删除。

通过上述介绍,我们可以看到,管道在Linux系统中扮演着重要的角色,它使得命令之间的数据传递和处理变得简单而高效。通过掌握管道的使用方法和注意事项,可以更加灵活地操作Linux系统,提高工作效率‌

Go
1.介绍

Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要目标是“让编写可信赖软件变得简单且有趣”。

Go语言设计者有三个主要目标:

  1. 简单性

  2. 并发性

  3. 兼容性

2.Go语言的特点:
  • 静态类型

  • 编译型

  • 并发性(goroutines和channels)

  • 垃圾回收

  • 函数式编程

  • 结构化并且模块化的编程

  • 语法简单,表达力强

3.Go语言的主要应用场景:
  • 服务器编程,如处理日志、数据库操作等。

  • 分布式系统,如分布式数据存储、分布式计算等。

  • 网络编程,如Web应用、API开发等。

  • 内存管理,如操作系统、数据库等。

  • 云平台,如Docker、Kubernetes等。

Go语言的安装和设置相对简单,可以从官网下载对应操作系统的安装包或者使用包管理器进行安装。安装完成后,可以使用命令行工具go来编译和运行Go程序。

2.一些博主学习分享

https://blog.csdn.net/admans/article/details/139563378

Apache?
1.背景介绍:

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。 [2]Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。

2.详细基础学习(博主)
https://blog.csdn.net/m0_64304713/article/details/134104186?ops_request_misc=&request_id=&biz_id=102&utm_term=Apache&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-134104186.142^v100^pc_search_result_base5&spm=1018.2226.3001.4187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值