搭建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备份系统 apachetar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /在根目录下执行上述命令,备份整个系统,并导出系统备份文件。 
- 
系统还原 apachetar xvpfz backup.tgz -C /
在完成了上述三个步骤以后,就可以在Linux系统的基础上进行后续的操作了。
二、Apache
Apache是目前最流行的Web服务器之一,我们可以通过以下命令来安装:
            
            
              apache
              
              
            
          
          yum install httpd -y安装完成后,启动Apache服务:
            
            
              apache
              
              
            
          
          systemctl start httpd.service接下来,我们可以通过浏览器访问服务器IP地址,如果看到"Apache 2 Test Page"页面,则表示Apache已经成功安装。
在Apache安装完成以后,我们不能每次重启机器以后,都要再次执行Apache启动命令,所以还需要设置Apache开机自启。执行如下命令:
            
            
              apache
              
              
            
          
          chkconfig httpd  on三、PHP
PHP是最受欢迎的服务器端脚本语言之一,我们可以通过以下命令来安装:
            
            
              apache
              
              
            
          
          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是最流行的关系型数据库之一,我们可以通过以下命令来安装:
            
            
              apache
              
              
            
          
          yum install mariadb-server mariadb -y安装完成后linux定时关机命令,启动MySQL服务并设置开机自启:
            
            
              apache
              
              
            
          
          systemctl start mariadb.service
systemctl enable mariadb.service接下来,我们需要对MySQL进行一些安全设置:
            
            
              apache
              
              
            
          
          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配置文件中添加虚拟主机配置 apachevim /etc/httpd/conf/httpd.conf在文件末尾添加以下代码: apacheconf<VirtualHost *:80> ServerAdmin DocumentRoot /var/www/html/ ServerName ErrorLog logs/-error_log CustomLog logs/-access_log common </VirtualHost>
- 
2、创建虚拟主机目录 APACHEmkdir /var/www/html/
- 
3、将网站文件放入虚拟主机目录中 
 将网站文件放入/var/www/html/目录中。
- 
4、重启Apache服务 apachesystemctl restart httpd.service
六、 添加SSL证书
SSL证书可以保护网站传输的数据安全,我们可以通过以下步骤来添加SSL证书:
- 
1、安装mod_ssl模块 APACHEyum install mod_ssl -y
- 
2、创建证书 apacheopenssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/.key -out /etc/pki/tls/certs/.crt
- 
3、配置Apache在虚拟主机配置文件中添加以下代码: apacheconfSSLEngine on SSLCertificateFile "/etc/pki/tls/certs/.crt" SSLCertificateKeyFile "/etc/pki/tls/private/.key"
- 
4、重启Apache服务 apachesystemctl restart httpd.service
七、优化服务器性能
为了提高服务器性能,我们可以采取以下措施:
- 
1、禁用不必要的服务 apachesystemctl disable postfix
- 
2、安装缓存软件 apacheyum install memcached -y
- 
3、调整Apache配置在Apache配置文件中添加以下代码: apacheconf<IfModule mpm_prefork_module> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 MaxConnectionsPerChild 0 </IfModule>