LNMP | LAMP
1.介绍 LNMP和LAMP都是用于搭建Web服务器的解决方案,但它们的区别在于所使用的软件组合不同。
-
LAMP代表Linux、Apache、MySQL和PHP/Perl/Python。在Ubuntu上搭建LAMP服务器需要安装Apache作为Web服务器、MySQL作为数据库服务器和PHP/Perl/Python作为服务器端脚本解释器。LAMP架构广泛用于建立Web应用平台,特别是对于中小企业和个人开发者来说,由于其开源和免费的特性,LAMP成为了一个经济高效的选择。
-
LNMP代表Linux、Nginx、MySQL和PHP/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密码,并且您有权限访问服务器,您可以按照以下步骤重置密码:
-
执行vim /etc/my.cnf 添加 skip-grant-tables 可以直接无密码登录
-
重启systemctl restart mysqld
-
登录到MySQL:
mysql -u root
-
在MySQL命令行中,用以下命令刷新权限表并设置新密码:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
将
new_password
替换为您想要设置的新密码。 -
退出MySQL命令行:
quit
-
关闭MySQL服务(如果它还在运行)并重新启动它:
sudo systemctl start mysql
-
再用修改的新密码进行登录即可
注意:得删除添加的语句,否则每个有权限的用户都可以进行无密码操作十分不安全
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语言设计者有三个主要目标:
-
简单性
-
并发性
-
兼容性
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