第15页 CentOS系统手动部署LAMP平台
2022/1/25 7:04:26
本文主要是介绍第15页 CentOS系统手动部署LAMP平台,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 1 LAMP平台简介
- 2 LAMP平台安装
- 2.1 Linux安装
- 2.2 Apache安装
- 2.2.1 安装前准备
- 2.2.2 安装及检查
- 2.2.3 主页设计
- 2.2.4 配置文件分析
- 2.3 MySQL安装
- 2.3.1 安装前准备
- 2.3.2 安装及检查
- 2.3.3 登录并修改密码
- 2.4 php安装
- 2.4.1 安装前准备
- 2.4.2 安装及检查
- 2.4.3 安装插件php-mysql
- 2.4.4 安装插件php-mbstring
- 2.4.5 php配置
- 3 测试Apache是否支持PHP解析
- 4 总结
- 5 参考文献
1 LAMP平台简介
- LAMP平台是Linux、Apache(http)、MySQL、PHP组合的简称。
- 在这个组合平台上,各成员主要发挥以下作用:
- Linux是一个操作系统,没有操作系统apache,mysql,php就缺少了基础平台;
- apache是一个服务器软件,我们通过浏览器发送的请求都由它来转发处理,就是启到承上启下的作用;
- php就是用来接收apache发送来的请求,同时也起到读写数据库数据的功能。
- mysql主要就是用来存储数据,如果你的网页是静态页,当然不用mysql也是可以的。
2 LAMP平台安装
2.1 Linux安装
参考本专栏上一节《CentOS7虚拟机安装及界面图形化》内容。
2.2 Apache安装
2.2.1 安装前准备
- 打开终端,并使用命令
sudo-i
切换至root用户。 - 查询系统是否已安装过Apache。因为在Linux系统中,不同方式安装的软件其查询命令不一致,建议使用以下命名查询系统中是否已安装过Apache,在该系统中名称是httpd。查询结果如图所示,均查不到内容。
rpm -qa | grep httpd
yum list installed | grep httpd
2.2.2 安装及检查
- 输入
yum install httpd* -y
用这个命令来安装apache。
- 需要一小会的等待……提示安装完完毕。
- 输入命令
systemctl start httpd.service
启动Apache,并输入命令systemctl status httpd.service
查看启动后的状态。看到已成功启动。
- 输入命令ss -antpl | grep 80查看是否已开启80端口,发现已正常开启。
- 打开浏览器,输入IP地址访问网站,成功访问说明apache已安装完成。
2.2.3 主页设计
- 默认主页目录为
/var/www/html
,编辑默认主页vim /var/www/html/index.html
。按ins键插入模式下输入以下命名,按Esc键回到命令模式,按:进入末行模式,输入wq保存并退出。
- 尝试访问主页。在浏览器输入IP地址进行访问,可以看到访问成功。
- 有的版本访问失败可能是防火墙拦截的原因,可以使用命令
setenforce 0
关闭防火墙。
2.2.4 配置文件分析
- 配置文件使用命令
vim /etc/httpd/conf/httpd.conf
打开编辑。要是编辑后的文件生效,需要重启以下服务。 - 配置文件规定了服务的根目录,也就是软件装在哪,其他子目录均在此根目录下展开。
# ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # Do not add a slash at the end of the directory path. If you point # ServerRoot at a non-local disk, be sure to specify a local disk on the # Mutex directive, if file-based mutexes are used. If you wish to share the # same ServerRoot for multiple httpd daemons, you will need to change at # least PidFile. # ServerRoot "/etc/httpd"
- 配置文件规定了服务端口号为80.
# Listen: Allows you to bind Apache to specific IP addresses and/or # ports, instead of the default. See also the <VirtualHost> # directive. # # Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 Listen 80
- 配置文件说明了服务使用的用户身份。
# If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User apache Group apache
- 配置文件说明了网站主页存放的目录,同时也有对目录中各种功能使用说明。
# DocumentRoot: The directory out of which you will serve your # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # DocumentRoot "/var/www/html"
- 配置文件对网站的访问权限进行了说明。
# Relax access to content within /var/www. # <Directory "/var/www"> AllowOverride None # Allow open access: Require all granted </Directory>
- 配置文件对主页下文件的功能进行了规定,如是否共享、访问权限等。
# Further relax access to the default document root: <Directory "/var/www/html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted </Directory>
2.3 MySQL安装
2.3.1 安装前准备
- 打开终端,并使用命令
sudo-i
切换至root用户。 - 查询系统是否已安装过MySQL。因为在Linux系统中,不同方式安装的软件其查询命令不一致,建议使用以下命名查询系统中是否已安装过mysql。查询结果如图所示,均查不到内容。
rpm -qa | grep mysql
yum list installed | grep mysql
2.3.2 安装及检查
- 输入
yum install mysql-server -y
用这个命令来安装MySQL。这里执行安装命令是无效的,因为centos-7默认是Mariadb,所以执行该命令只是更新Mariadb数据库 - 打开网站http://repo.mysql.com/查询MySQL都有哪些软件版本,找到el7后缀的,表示支持的是CentOS7的版本,此处可以根据自己需要下载对应的版本。
- 本节内容以安装最新版为例,在终端输入命令
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
下载最新版mysql。 - 输入命令
rpm -ivh mysql80-community-release-el7.rpm
进行安装。安装后会获得两个mysql的yum repo源,输入命令cd /etc/yum.repos.d/
进行查看。 - 输入命令
yum install mysql-server --nogpgcheck
开始安装,其中 --nogpgcheck 表示进行跳过公钥检查安装,否则会报错。在安装过程中会多次询问输入,均输入y
并回车。
- 等待一段时间的安装后,看到令人愉快的完毕字样。
- 输入
systemctl start mysqld.service
启动服务。
2.3.3 登录并修改密码
- 从mysql5.6开始就不支持空密码登录了,安装时会在自动生成一个随机的初始密码,这个密码可以输入命令:cat /var/log/mysqld.log,在该日志文件中查找,比如在本次安装中,log文件第四行,就说了生成了一个临时密码为frc?h9SrPtIq。
2022-01-24T08:20:12.790955Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.28) initializing of server in progress as process 12665 2022-01-24T08:20:12.825559Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2022-01-24T08:20:13.309612Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2022-01-24T08:20:14.519212Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: frc?h9SrPtIq 2022-01-24T08:20:16.647145Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.28) starting as process 12712 2022-01-24T08:20:16.665299Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2022-01-24T08:20:16.951166Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2022-01-24T08:20:17.327996Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2022-01-24T08:20:17.328057Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. 2022-01-24T08:20:17.726155Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock 2022-01-24T08:20:17.726208Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server - GPL.
- 输入
mysql -u root -p"
回车,输入上述临时密码登录数据库。
- 输入
alter user'root'@'localhost' IDENTIFIED BY '新密码';
新密码要包含大小写、特殊字符、数字、长度位数等要求,例如123456.comCOM,不然会提示不满足复杂度。输入密码时注意要以分号结尾。
- 输入
\q
退出,使用新密码再次尝试登录。
2.4 php安装
2.4.1 安装前准备
- 打开终端,并使用命令
sudo-i
切换至root用户。 - 查询系统是否已安装过Aphp。因为在Linux系统中,不同方式安装的软件其查询命令不一致,建议使用以下命名查询系统中是否已安装过php。查询结果如图所示,均查不到内容。
rpm -qa | grep php
yum list installed | grep php
2.4.2 安装及检查
- 输入命令
yum install php
开始安装php。
- 安装过程中会有多次提示,输入y。
- 经过一小会的等待……php安装完成。
2.4.3 安装插件php-mysql
- 考虑到在该平台使用时,php需要起到连接数据库的作用,还需要安装插件。输入命令
yum install php-mysql
进行安装。 - 跟安装php同理,安装过程中有提示则输入y,知道安装完成。
2.4.4 安装插件php-mbstring
- 多国语言并存就意味着多字节,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。
- 输入命令
yum install php-mbstring
进行安装,同理地,安装过程有提示时输入y。
2.4.5 php配置
- 输入命令
vim /etc/php.ini
进行PHP配置短标记功能,在命令模式下输入/short进行关键字查找,如下图。
- 按ins键进入插入模式,将short_open_tag值从Off该为On,保存退出。
3 测试Apache是否支持PHP解析
- 输入命令
vim /var/www/html/index.php
在默认网站目录下新建一个网页。 - 进入插入模式下,按下图输入命令,注意有分号,保存并退出。
- 在浏览器中输入
192.168.1.2/index.php
测试Apache能否成功解析PHP,自行使用自己的IP地址。看到一片空白,出了问题。 - 将index.php文件的语句修改成如下这版,可以解决问题,应该是编辑语言和软件版本的问题,而不是Apache配置文件的问题。
- 在浏览器中输入
192.168.1.2/index.php
测试看到以下界面,说明LAMP平台搭建成功。
4 总结
- 了解LAMP平台中各个软件的主要作用;
- 了解各软件的安装方式;
- 了解配置文件的内容。
5 参考文献
- 《Linux(centos 7)系统下mysql8及以上版本修改root账户密码》
- 《linux++php无法解析,怎么解决linux php无法解析的问题》
这篇关于第15页 CentOS系统手动部署LAMP平台的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享