搭建LAMP Web服务器

在家中翻到了以前用的老电脑,在思索一番后,决定把这台电脑改造成一台Web服务器,作为我自己搭建博客的测试机器。

一、Linux服务器

LAMP中的L指的是Linux服务器,其中Linux服务器的版本众多,如,CentOS、Ubuntu等Linux版本,我自己选择了CentOS系统。因为是物理机,所以在给机器安装系统的时候,就和虚拟机安装系统时不一样了,我的准备如下:

  • 物理机一台(CPU:i3-9100,内存:12G)
  • U盘(大于8G)
  • CentOS 7

1、制作Linux系统U盘

 CentOS和8G U盘准备完毕以后,在其他PC中下载并安装光盘刻录软件UltraISO,打开UltraISO软件,选择 “文件” -> “打开” 选择linux系统镜像(iso文件)并 “打开”。

 插入U盘,选择 “启动” -> “写入硬盘镜像”,硬盘驱动器选择做为系统盘的U盘,其他选项不需要改动。

 点击 ”写入” ,等待刻录完成即可。

2、安装CentOS系统

  • 1、插入刚刚制作的系统U盘,重启时不停按DELETE,进入BIOS,更改U盘为第一启动项,并重启。
  • 2、重启后进入系统选择页面,选择install CentOS 7

    注:如果在选择以后,出现scripttimeout这样的报错,就是表示没有找到镜像目录,这时候就需要在dev目录下(cd /dev)确定U盘是属于哪个挂载盘(ls -all),并修改(输入reboot重启,重启后,不停的按e,进入修改界面,把vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet,修改成vmlinuz initrd=initrd.img repo=hd:/dev/sdb1 quiet,注意sdb1可能需要更改成sdb4,具体看U盘的挂栽盘是什么)
  • 3、在成功进入系统安装界面后,按照安装步骤一步一步进行下去,在安装过程中可能需要我们自定义软件源(http://mirrors.aliyun.com/centos/7/os/x86_64/)

3、备份系统

为了防止在后续的搭建web服务器时出现不可挽回的错误,这时候就先对系统进行备份,以防万一。

  • tar备份系统

    tar  cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found  --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /

    在根目录下执行上述命令,备份整个系统,并导出系统备份文件。

  • 系统还原

    tar xvpfz backup.tgz -C /

在完成了上述三个步骤以后,就可以在Linux系统的基础上进行后续的操作了。

二、Apache

Apache是目前最流行的Web服务器之一,我们可以通过以下命令来安装:

yum install httpd -y

安装完成后,启动Apache服务:

systemctl start httpd.service

接下来,我们可以通过浏览器访问服务器IP地址,如果看到“Apache 2 Test Page”页面,则表示Apache已经成功安装。

在Apache安装完成以后,我们不能每次重启机器以后,都要再次执行Apache启动命令,所以还需要设置Apache开机自启。执行如下命令:

chkconfig httpd  on

三、PHP

PHP是最受欢迎的服务器端脚本语言之一,我们可以通过以下命令来安装:

yum install php       //安装php模块
yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc //安装PHP支持这些组件
yum install php-mysql //安装php支持mysql

四、MySQL

MySQL是最流行的关系型数据库之一,我们可以通过以下命令来安装:

yum install mariadb-server mariadb -y

安装完成后linux定时关机命令,启动MySQL服务并设置开机自启:

systemctl start mariadb.service
systemctl enable mariadb.service

接下来,我们需要对MySQL进行一些安全设置:

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远程登录,根据自己的需求选择Y/n并回车,建议禁止

Remove test database and access to it? [Y/n]  <– 是否删除test数据库,直接回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车

五、配置虚拟主机

虚拟主机是多个网站共享同一个服务器的一种方式。我们可以通过以下步骤来配置虚拟主机:

  • 1、在Apache配置文件中添加虚拟主机配置
    vim /etc/httpd/conf/httpd.conf

    在文件末尾添加以下代码:

    <VirtualHost *:80>
    ServerAdmin
    DocumentRoot /var/www/html/
    ServerName
    ErrorLog logs/-error_log
    CustomLog logs/-access_log common
    </VirtualHost>
  • 2、创建虚拟主机目录
    mkdir /var/www/html/
  • 3、将网站文件放入虚拟主机目录中

    将网站文件放入/var/www/html/目录中。
  • 4、重启Apache服务
    systemctl restart httpd.service

六、 添加SSL证书

SSL证书可以保护网站传输的数据安全,我们可以通过以下步骤来添加SSL证书:

  • 1、安装mod_ssl模块
    yum install mod_ssl -y
  • 2、创建证书
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/.key -out /etc/pki/tls/certs/.crt
  • 3、配置Apache在虚拟主机配置文件中添加以下代码:
    SSLEngine on
    SSLCertificateFile "/etc/pki/tls/certs/.crt"
    SSLCertificateKeyFile "/etc/pki/tls/private/.key"
  • 4、重启Apache服务
    systemctl restart httpd.service

七、优化服务器性能

为了提高服务器性能,我们可以采取以下措施:

  • 1、禁用不必要的服务

    systemctl disable postfix
  • 2、安装缓存软件

    yum install memcached -y
  • 3、调整Apache配置在Apache配置文件中添加以下代码:

    <IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 150
    MaxConnectionsPerChild 0
    </IfModule>

LAMP-CentOS7搭建Web服务器的更多相关文章

  1. centos7 搭建WEB服务器

    centos7 搭建WEB服务器 2017年09月17日 09:44:50 逝然1994 阅读数:18321 标签: centosapacheweb服务器 更多 个人分类: centos服务器简单配置 ...

  2. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

    Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...

  3. 基于Docker和Golang搭建Web服务器

    1 场景描述 基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器 我购买了一个最 ...

  4. Ubuntu20.04搭建web服务器

    其他Ubuntu20以及Ubuntu18系列也可以!

  5. centos7作为web服务器优化

    centos7作为web服务器优化 原文 http://itindex.net/detail/51140-centos7-web-服务器 1.加大打开文件数的限制(open files) 查看 uli ...

  6. 在Win7系统中搭建Web服务器

    局 域网Web服务器的主要功能是实现资源共享,同时借助于局域网服务器访问页面可有效的实现信息的同步.利用Web服务器,我们随时随地都可以将自己的信息 上传到服务器端,让其它关注你的用户能在第一时间内了 ...

  7. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  8. 用tomcat搭建web服务器

    链接地址:http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html qingshow “不积跬步无以至千里,不积小流无以成江海”. ...

  9. NodeMCU入门(4):搭建Web服务器,配置网络连接

    准备工作 1.NodeMCU模块 2.ESPlorer v0.2.0-rc6 3.NodeMCU-HTTP-Server 搭建web服务器 下载https://github.com/wangzexi/ ...

  10. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

随机推荐

  1. C语言:如何打印星星

    //打印星星                  //k是两个上下部分都一样的空格      /*i        j               k                    k      ...

  2. C 语言编程 — 异常处理

    目录 文章目录 目录 前文列表 异常处理 perror() 和 strerror() 输出异常信息 程序退出状态 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基 ...

  3. 各大插件市场智能助手评分榜出炉!百度Comate稳居第一

    近日,在VSCode.Jetbrains等各大插件市场智能助手评分榜中,百度Comate分别以4.5和4.4位列第一,通义灵码位居第二.第三,CodeGeeX.iFlyCode.aiXcoder.Gi ...

  4. Python:Python对象模型与序列迭代陷阱

    1. Python对象模型与浅拷贝/深拷贝 1.1 Python对象模型和引用 在我们讲解Python的序列修改陷阱之前,先巩固一下Python的对象模型和浅拷贝/深拷贝的知识. 众所周知,Pytho ...

  5. vue 常用类库引用

    js 端生成guid 类库一:https://github.com/uuidjs/uuid        npm i uuid --save 类库二:https://github.com/LiosK/ ...

  6. C# winform GDI+ 五子棋 (二):根据博弈算法写的人机AI(抄的别人的)

    白棋是ai,最后ai走赢了. 根据博弈算法的一个AI.遍历深度6层,下子很慢.其实我是从别人的代码里复制的算法,改到自己上面用了. 这个博弈算法 class GameAI { /// <summ ...

  7. 一文带你读懂Arthas实现原理

    一. 前言 Arthas 相信大家已经不陌生了,肯定用过太多次了,平时说到 Arthas 的时候都知道是基于Java Agent的,那么他具体是怎么实现呢,今天就一起来看看. 首先 Arthas 是在 ...

  8. 分布式缓存NewLife.Redis

    NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标. Redis协议基础实现位于Redis/RedisClient,FullRedis为扩展实现,主要增加列表结构 ...

  9. ASP.NET Core - 实现自定义WebApi模型验证 ModelState

    Framework时代 在Framework时代,我们一般进行参数验证的时候,以下代码是非常常见的 [HttpPost] public async Task<JsonResult> Sav ...

  10. centos7下利用qemu搭建arm模拟器

    1 目的 在centos7下使用qemu搭建arm模拟器. 参考博客: centos下利用qemu搭建arm模拟器 - 寒水司天 - 博客园 (cnblogs.com) 从零使用qemu模拟器搭建ar ...