LAMP快速建站

发布于 2021-08-31  57 次阅读


Linux apache MySQL PHP

服务管理方式

管理服务的方式有三种
分别是早期(CentOS 6及之前)使用的init、service和现在(CentOS7及之后)常用的systemctl

inti

init是启动计算机后启动的第一个进程,他将持续运行直到关机,是所有其他进程的直接或间接父进程,他的参数全部存在/etc/init.d目录下
使用init启动服务应该输入如下指令

$ sudo /etc/init.d/nginx start

service

service是init.d的一种实现方式,简化了init的使用,本质上两者并没有区别

service调用服务的指令格式

$ service nginx start
#等价于
$ sudo /etc/init.d/nginx start

init与service的局限性

1、启动时间长。
2、启动脚本复杂。

systemd

简介

为了解决这些问题,诞生了systemd

使用systemd,就不需要使用init(PID为0),systemd成为了系统的第一个进程(PID为1),其他进程都是他的子进程

systemd的优缺点

优点:功能强大,使用方便
缺点:体系庞大,非常复杂

systemctl与service的对比

搭建站点

Windows

IIS(快速建站) asp apache nginx等

apache (读作阿帕奇)是apache软件基金会的一个开源项目,该开源项目早期名字有:http server ,http2.0 , httpd

Linux

在CentOS 7中名字为:httpd

LAMP(Linux Apache MySQL PHP)

 yum install -y httpd   //下载httpd
 systemctl start httpd  //启动httpd
 systemctl status httpd//查看http状态

启用之后使用浏览器发现无法连接,于是尝试本地是否可以连接,使用curl命令查看localhost

连接成功,说明他是在上传过程中失败了,怀疑被防火墙拦截,所以把防火墙关掉试试

输入命令

$ systemctl stop firewalld

再次尝试,果然连接成功。

于是设置防火墙开机不自启,httpd开机自启

$ systemctl disable firewalld
$ systemctl enable httpd
$ reboot    //重启检验

端口转发

将虚拟网络配置改为如图所示,防火墙打开10022端口

访问时,使用本机ip+端口号即可,在同一个局域网下可以实现相互访问

/etc/httpd目录下存放Apache的配置文件

httpd起始页面设置

通过在 /var/www/html目录下使用wget下载页面,修改欢迎界面

yum www.baidu.com 下载百度主页

删除welcome文件,添加文件index.html,该文件内容即为新的默认起始页

禁用默认开启的列目录功能

开启列目录会在一定程度上造成信息泄露,所以需要将其禁止

1、先在/var/www/html目录下建立多个多级目录以查看效果

2、修改主配置文件/var/www/html/conf/httpd.conf 搜索Options
在 Options Indexes FollowSymLinks 前添加注释符“ # ”将其注释,使其失效

3、重新启动httpd
输入指令

systemctl restart httpd

再次检查,发现设置成功

搭建站点

首先准备好php和数据库环境

MySQL环境配置

$ yum -y install mariadb mariadb-server   #下载相关软件
$ systemctl start mariadb #启动环境
$ systemctl enable mariadb  #设置开机自启
$ mysql_secure_installation # 第一次使用进入设置项

Enter current password for root (enter for none):
<#初次运行直接回车
Set root password? [Y/n]
<– 是否设置root用户密码,输入y并回车或直接回车
New password:
<– 设置root用户的密码
Re-enter new password:
<– 再输入一次你设置的密码

其他设置
Remove anonymous users? [Y/n]
<– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n]
<–是否禁止root远程登录,回车,选n
Remove test database and access to it? [Y/n]
<– 是否删除test数据库,回车
Reload privilege tables now? [Y/n]
<– 是否重新加载权限表,回车

登录
mysql -uroot -p   #回车后 输入密码

至此MySQL环境配置完毕,接下来进行php的环境配置

PHP环境配置

$ yum install php php-devel #安装php
$ systemctl restart httpd.service 启用php

在/var/www/html 目录下建立一个名为phpinfo.php的文件,内容为

<?php phpinfo();?>

接下来安装phpde的扩展
输入指令

$ yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

接下来在网页访问地址(此处填写ip)/phpinfo.php检验是环境是否配置成功

然后使用准备好的源码进行建站

源码准备

首先在网上找到一个合适的源码文件,下载到宿主机,使用lrzsz小工具,将其上传到虚拟机上,没有的话可以使用指令下载

$ yum install lrzsz    #小工具下载

该工具可以便捷的进行本地机与虚拟机之间的文件互传

只需要使用指令 rz + 文件名 可以实现从本地机向虚拟机的上传
使用指令 sz + 文件名 可以实现从虚拟机向本地机的文件下载

于是在虚拟机上将当前路径转至 /var/www/html 上,方便一会儿的文件上传

$ rz   #选择要传送的文件
$ yum install unzip     #下载解压zip格式的工具包
$ uzip discuz.zip      #我这里准备的源码文件为discuz.zip

接下来访问网页(ip)/discuz/install/
进入网站的下载页面,如果配置文件不满足需求,进行相应操作配置后输入如下指令重试

$ chomd -R 777 *
$ setenforce 0

执行完毕后再次刷新网页,完美结束!