虚拟主机部署的三种方式:html
apache能够采用yum和二进制源码安装,尽管yum安装快捷方便且能解决依赖问题,可是配置目录零散,不适合企业的维护,故使用源码安装能够指定安装版本与指定目录,便于维护升级nginx
参考yum源三大经常使用配置其中一种方式便可c++
yum install apr apr-devel apr-util apr-util-devel pcre* gcc gcc-c++ -y
web
wget https://mirror.bit.edu.cn/apache/httpd/httpd-2.4.43.tar.bz2 tar -xjvf httpd-2.4.43.tar.bz2 cd httpd-2.4.43/ ./configure --prefix=/usr/local/apache2/ --enable-rewrite --enable-so make && make install
setenforce 0 systemctl stop firewalld.service /usr/local/apache2/bin/apachectl start
有个告警,提示没有打开80端口监听shell
echo "ServerName localhost:80" >> /usr/local/apache2/conf/httpd.conf /usr/local/apache2/bin/apachectl restart
告警消失,测试正常apache
/usr/local/apache2/bin Apache # 命令目录 /usr/local/apache2/build Apache # 构建编译目录 /usr/local/apache2/htdocs/ # 源码安装 Apache 网站发布目录 /usr/local/apache2/cgi-bin # 可执行的 CGI 程序存放目录 /usr/local/apache2/include # Apache引用配置文件目录 /usr/local/apache2/logs # Apache日志目录 /usr/local/apache2/man # Apache帮助文档目录 /usr/local/apache2/manual # Apache手册 /usr/local/apache2/modules # Apache模块路径
vim /usr/local/apache2/conf/httpd.conf
vim
Include conf/extra/httpd-vhosts.conf #开启vhost
浏览器
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
安全
<VirtualHost *:80> DocumentRoot "/usr/local/apache2//htdocs/xiaoxian1" ServerName www.xiaoxian1.com ServerAlias xiaoxian1 ErrorLog "logs/www.xiaoxian1.com-error_log" CustomLog "logs/www.xiaoxian1.com-access_log" common </VirtualHost> <VirtualHost *:80> DocumentRoot "/usr/local/apache2//htdocs/xiaoxian2" ServerName www.xiaoxian2.com ErrorLog "logs/www.xiaoxian2.com-error_log" CustomLog "logs/www.xiaoxian2.com-access_log" common </VirtualHost>
mkdir -p /usr/local/apache2//htdocs/{xiaoxian1,xiaoxian2} # 建立虚拟主机根目录 /usr/local/apache2/bin/apachectl restart
touch /usr/local/apache2/htdocs/xiaoxian*/index.html echo "xiaoxian1" >> /usr/local/apache2/htdocs/xiaoxian1/index.html echo "xiaoxian2" >> /usr/local/apache2/htdocs/xiaoxian2/index.html # 建立虚拟主机index.html,并输入测试文本 /usr/local/apache2/bin/apachectl restart
更改电脑的host文件性能优化
C:\Windows\System32\drivers\etc\hosts
浏览器测试
重要:若是目录中没有index.html,则会显示全部目录信息
这样显示是不安全的,只须要将vim /usr/local/apache2/conf/httpd.conf
中的
Options Indexes FollowSymLinks 改成 Options FollowSymLinks
重启服务 /usr/local/apache2/bin/apachectl restart
显示没有权限,比较安全
vim /usr/local/apache2/conf/httpd.conf
<IfModule worker.c> # worker MPM引擎配置段(prefork不经常使用) ThreadLimit 200 ServerLimit 64 StartServers 8 # apache进程数 MaxClients 3000 # 每秒支持最大并发 MinSpareThreads 50 # 最小空闲进程 maxSpareThreads 100 # 最大空闲进程 ThreadsPerChild 100 # 每一个进程启动的线程数 MaxRequestsPerChild 1000 # 每一个进程处理的最大请求数(0为无限制) </IfModule>
添加以上性能参数选项至配置文件httpd.conf底部
参数须要根据机器的性能优化,同时得知足公式,否则会报错
ThreadLimit >= ThreadsPerChild MaxClients <= ServerLimit * ThreadsPerChild 必须是ThreadsPerChild的倍数 MaxSpareThreads >= MinSpareThreads+ThreadsPerChild
# 如下原配置文件已存在,含义以下 DocumentRoot "/usr/local/apache2//htdocs" <Directory "/usr/local/apache2//htdocs"> Options FollowSymLinks # 禁止浏览目录 AllowOverride None # 设置为None时,目录中的.htaccess文件不生效 Require all granted # 容许全部 </Directory>
重启服务 /usr/local/apache2/bin/apachectl restart
/usr/local/apache2/bin/ab
是apache自带的压力测试工具,也可以使用yum -y install httpd-tools
安装。ab不只能够对apache服务器进行压力测试,也能够对nginx等进行测试
一些经常使用的ab参数 -c #并发数(模拟用户数) -n #执行次数(访问次数) -w #以html打印测试结果 -A #添加网络认证(帐号密码冒号隔开) -e #输出结果到CSV格式中
/usr/local/apache2/bin/ab -c 1000 -n 10000 http://localhost/index.html
查看系统负载状况
查看测试结果,OK