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
执行完毕后再次刷新网页,完美结束!
Comments NOTHING