导语:本篇文章介绍如何在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
结束
好了,到这里,网站就基本配置完毕了。还有虚拟主机等等配置,就不是必须的,所以就不在这里详细讲了。