在阿里云centos7 64位服务器上安装、配置、优化XAMPP(apache+Mysql+php7)

导语:本篇文章介绍如何在centos7 64位服务器安装apache+Mysql+php7的集成包XAMPP,以及安装完成后的配置优化步骤。大家可以根据需要下载所需的版本然后安装,当然,也需要根据实际情况来配置,本文仅供参考。

下载XAMPP

请上apachefriends下载自己所需要的版本,XAMPP包有很多种,包中的apache、Mysql、php有着不同的版本,本次下载的是xampp-linux-x64-7.0.13。

下载地址:https://www.apachefriends.org/download.html。

在可以使用wget命令来直接将所需要的文件下载到服务器。你也可以先下载到本地,然后在上传到服务器。

如果用wget下载遇到网络很慢的情况,你可以参见这篇文章:如何在centos7 64位操作系统中使用wget下载百度云(百度网盘)的xampp-linux-x64-7.0.13-0-installer.run。https://www.wordpressleaf.com/2016_1236.html

安装XAMPP

首先对下载的文件赋权755。

chmod 755 xampp-linux-x64-7.0.13-0-installer.run

然后在管理员模式下运行刚刚下载的文件

sudo ./xampp-linux-x64-7.0.13-0-installer.run

命令运行过程如下:

----------------------------------------------------------------------------
Welcome to the XAMPP Setup Wizard.

----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.

XAMPP Core Files : Y (Cannot be edited)

XAMPP Developer Files [Y/n] :y

Is the selection above correct? [Y/n]: y

----------------------------------------------------------------------------
Installation Directory

XAMPP will be installed to /opt/lampp
Press [Enter] to continue:

----------------------------------------------------------------------------
Setup is now ready to begin installing XAMPP on your computer.

Do you want to continue? [Y/n]: y

----------------------------------------------------------------------------
Please wait while Setup installs XAMPP on your computer.

 Installing
 0% ______________ 50% ______________ 100%
 #########################################

----------------------------------------------------------------------------
Setup has finished installing XAMPP on your computer.

启动XAMPP

安装完成后,使用以下命令启动XAMPP。按下回车键后,它会依次启动apache、mysql、php。

/opt/lampp/lampp start

添加XAMPP开机启动

我们希望XAMPP能够自动随服务器启动,那么请使用下面的命令来添加开机启动服务。

sudo ln -s /opt/lampp/lampp /etc/init.d/lampp

sudo chkconfig --add lampp

对XAMPP进行安全配置

XAMPP安装完成后,我们需要对XAMPP本身、MYSQL、FTP设置密码,以增加网站的安全性。使用下面命令开始设置。

/opt/lampp/lampp security

命令运行过程如下:


XAMPP:  Quick security check...
XAMPP:  Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] y
XAMPP: Password:
XAMPP: Password (again):
/opt/lampp/share/xampp/checkapache: line 41: /opt/lampp/htdocs/xampp/.htaccess: No such file or directory
cp: cannot stat ‘/opt/lampp/htdocs/xampp/.htaccess’: No such file or directory
cp: cannot stat ‘/opt/lampp/htdocs/xampp/.htaccess’: No such file or directory
chmod: cannot access ‘/opt/lampp/htdocs/xampp/.htaccess’: No such file or directory
chmod: cannot access ‘/opt/lampp/htdocs/webalizer/.htaccess’: No such file or directory
chmod: cannot access ‘/opt/lampp/phpmyadmin/.htaccess’: No such file or directory
XAMPP:  Password protection active. Please use 'xampp' as user name!
XAMPP:  MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] y
XAMPP:  Turned off.
XAMPP: Stopping MySQL...ok.
XAMPP: Starting MySQL...ok.
XAMPP:  The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] y
XAMPP: Password:
XAMPP: Password (again):
XAMPP:  Setting new MySQL pma password.
XAMPP:  Setting phpMyAdmin's pma password to the new one.
XAMPP:  MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] y
XAMPP:  Write the password somewhere down to make sure you won't forget it!!!
XAMPP: Password:
XAMPP: Password (again):
XAMPP:  Setting new MySQL root password.
XAMPP:  Change phpMyAdmin's authentication method.
XAMPP:  The FTP password for user 'daemon' is still set to 'xampp'.
XAMPP: Do you want to change the password? [yes] y
XAMPP: Password:
XAMPP: Password (again):
XAMPP: Reload ProFTPD...ok.
XAMPP:  Done.

优化PHP

对于PHP7,我们可以打开opcache来提高性能。使用下面的命令来开启opcache。

vi /opt/lampp/etc/php.ini

将下面的参数前面的分号去掉。

zend_extension=opcache.so

开启网页资源压缩

为优化网页下载速度,我们需要对静态文件进行压缩,包括text/html js css eot svg ttf woff woff2 otf等文件。使用下面的命令来开启网页压缩。

vi /opt/lampp/etc/httpd.conf

添加下面的内容到文件尾部。

<ifmodule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|exe|t?gz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
AddOutputFilter DEFLATE js css eot svg ttf woff woff2 otf
</ifmodule>

关闭网站默认访问日志

为了节省磁盘空间,我们可以关闭默认的网站访问日志。

vi /opt/lampp/etc/httpd.conf

将下面的内容行前面加上井号。

#CustomLog "logs/access_log" common

增加交换分区

为确保服务器的稳定性,我们需要开启服务器的交换分区。使用下面的命令生成。

dd if=/dev/zero of=/home/swap bs=1024 count=2097152

决定SWAP文件的大小,先指定区块大小:bs,再指定区块数量count,则SWAP文件的大小是:count*bs。
执行结果:

2097152+0 records in
2097152+0 records out
2147483648 bytes (2.1 GB) copied, 36.2382 s, 59.3 MB/s

指定作为交换区的文件。使用下面的命令。

mkswap /home/swap

执行结果:

Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=9722ac99-cb4c-45eb-91fe-e57e6ae36ede

激活交换区文件。使用下面的命令。

swapon /home/swap

执行结果:

swapon: /home/swap: insecure permissions 0644, 0600 suggested.

查看是否启用swap。

free

执行结果:

             total       used       free     shared    buffers     cached
Mem:       1017860     949348      68512      15928       1392     755616
-/+ buffers/cache:     192340     825520
Swap:      2097148          0    2097148

可以看到Swap已经启动。

swap分区自动挂载

让swap分区随服务器启动自动挂载。使用下面的命令。

vi /etc/fstab

在文件末尾加上下面的语句

/home/swap swap swap default 0 0

配置apache的最大并发数

使用下面的命令。

vi /opt/lampp/etc/httpd.conf

将下面行前面的井号去掉。

Include etc/extra/httpd-mpm.conf

然后使用vi打开/opt/lampp/etc/httpd-mpm.conf,修改为下面的参数。注意,linux对应的是mpm_prefork_module。

<IfModule mpm_prefork_module>
    ServerLimit           1000
    StartServers            20
    MinSpareServers         20
    MaxSpareServers         40
    MaxRequestWorkers     1000
    MaxConnectionsPerChild   10000
</IfModule>

使用网站文件不能被索引

使用下面的命令。

vi /opt/lampp/etc/httpd.conf

找到下面的行,去掉Indexes。

Options Indexes FollowSymLinks ExecCGI Includes

修改后为:

Options FollowSymLinks ExecCGI Includes

删除XAMPP网站根目录下的index.php

删除后,网站就不会自动跳转到默认的页面。然后可以开启虚拟主机的设置。

Include etc/extra/httpd-vhosts.conf

结束

好了,到这里,网站就基本配置完毕了。还有虚拟主机等等配置,就不是必须的,所以就不在这里详细讲了。

发表评论

邮箱地址不会被公开。 必填项已用*标注