本文主要是针对web服务的,生产环境会使用的一些软件,只是简单陈述,如果有什么不正确的地方,请指教,谢谢!
Web搭建的软件:httpd,nginx,tomcat
代理软件:squid,varnish
数据库软件:mariadb,redis,mencache
验证浏览方式:elinks -dump, curl,firefox 等 ??
查看web网络监听: netstat/ss ?-anptu | grep httpd/80 ????????????????????????????????注:建议使用ss,速度快
URL(Uniform Resource Locator)组成:http://服务器地址『:端口号』/目录/文件名
检测web工具:ab ??格式:ab -c 并发个数 -n 请求次数 ?http://ip/ ???????????????注:需安装httpd-tools
LNMP ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????注:LAMP ?A:apache
L:linux
N:nginx
M:mariadb、mariadb-server、mariadb-devel
P:php、php-fpm、php-mysql
===========================================================================
- HTTP
软件包:httpd (apache www.apache.org)
安装方式:yum
服务:httpd
传输协议及端口:TCP 80 ??注:https TCP 443 ??软件包:mod_ssl
配置文件:
主配置文件:/etc/httpd/conf/httpd.conf ?注:一般不修改
其他:/etc/httpd/conf.d/*.conf ?
默认首页:index.html
默认根目录:/var/www/html
启动服务:systemctl restart httpd ??systemctl enable httpd
配置文件内容:
Listen ?端口号 ???????????????????????????????????????????注:添加新的Web端口 semanage ?port ?-a ?-t ?http_port_t ?-p ?tcp ?端口号 ????????
<VirtualHost *:端口号> ????????????????????????????注:可以基于端口的虚拟主机,还有基于ip虚拟主机 ???
ServerName ?网站的FQDN ????????????????????注:可以基于域名的虚拟主机,使用最多
DocumentRoot ?网站的网页根目录
WSGIScriptAlias ?/ ?/网站的网页网页 ????注:需要mod_wsgi模块软件包
</VirtualHost>
<Directory ?"目录路径">
Require ?all ?denied ???????????????????????????????? ????//上层目录拒绝任何访问
Require ?all ?granted ???????????????????????????????????//目录允许任何访问
Require ?ip ?IP或网段地址 .. .. ????????????????????//目录允许少数客户机
</Directory>
==================================================================================
- NGINX (engine x)
软件包:nginx ?(http://nginx.org) ???????????????注:依赖包pcre-devel openssl-devel
安装方式:源码安装 ???????????????????????????????????注:依赖包gcc
传输协议及端口:TCP 80 ?????????????????????????注:开启nginx时,需要关闭httpd-- killall httpd
配置文件:/usr/local/nginx/conf/nginx.conf
默认首页:index.html
默认根目录:/usr/local/nginx/html/
启动服务:
/usr/local/nginx/sbin/nginx ???????????????????????????//启动服务
/usr/local/nginx/sbin/nginx -s stop ??????????????//关闭服务
/usr/local/nginx/sbin/nginx -s reload ??????????//重新加载配置文件 相当于重启
配置文件内容:
server{
listen 80; ??????????????????????????//端口
server name localhost; ????????????//域名
location /{
root html; ?????????????????????//指定网站根目录
index index.html index.htm; ???//默认首页
rewrite /a.html ?/b.html; ????????//访问a.html重定向到b.html
}
}
Nginx反向代理(很重要):
http {
upstream webserver { ????????????????????????????????????????????????//配置upstream服务器集群池属性
server 192.168.2.100 weight=1 max_fails=2 fail_timeout=10; ???//权重1,失败次数1,超时10
server 192.168.2.200 weight=1 max_fails=2 fail_timeout=10;
}
server {
listen 80;
server_name www.aa.com;
location / {
proxy_pass http://webserver; ??????????????????????????????????//实现反向代理功能
}
}
}
Nginx优化:
worker-processes 1; ?????????????????????????????????//与cpu核心数一致 ????查看cpu用lscpu
events {
worker_connection 65535; ?????????????????????//每个worker最大并发连接数
}
http {
server_tokens off; ????????????????????????????????????//不显示nginx版本号信息
client_header_buffer_size 1k; ????????????????//默认请求包头信息的缓存
large_client_header_buffers 4 4k; ?????????????//大请求包头部信息的缓存个数与容量
gzip on;
gzip_min_length 1000;
gzip_comp_level 4;
gzip_types text/plain
}
Server {.................省略}
Location ~* .(jpg|jpeg|gif|png|css|js|ico|xml)$(
Expires ?30d; ????????????????????????????????????????????????????????????//定义客户端缓存时间为30天
)
修改Linux操作系统最大打开文件数
#vim /etc/security/limits.conf ???(永久配置)
- soft nofile ????100000
- hard nofile ????100000
linux系统上需要设置的(临时设置)
ulimit –Hn 100000
ulimit –Sn 100000
====================================================================
3.TOMCAT
软件包:apache-tomcat-8.0.30.tar.gz ?????????????????注:依赖包JDK ??java-1.8.0-openjdk ?
安装方式:解压后拷贝到/usr/local/tomcat/ 则可以使用
传输协议及端口:TCP 8080 ???https 8443
配置文件:/usr/local/tomcat/conf/server.xml
页面目录:/usr/local/tomcat/webapps/ROOT/
默认首页:index.html
启动服务:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
配置文件内容:
<Host name=www.aa.com appBase="aa" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
</Host>
====================================================================
- SQUID
软件包:squid
安装方式:yum
传输协议和端口:TCP 80
配置文件:/etc/squid/squid.conf
启动服务:
systemctl start squid;systemctl enable squid
配置文件内容:
http_port 80 vhost ???????????????????????????????????????????????????????????????????//设置反向代理
visible_hostname svr5.tarena.com ??????????????????????????????????????//设置主机名,默认没有该语句
cache_peer ?192.168.2.100 ?parent 80 ??0 ?originserver ???//定义后端真实服务器信息
cache_dir ufs /var/spool/squid 200 16 256 ????????????????????????//硬盘缓存,缓存容量为200M,自动创建16个一级子目录和256个二级子目录
http_access allow all ?????????????????????????????????????????????????????????????//允许本机所有主机使用代理服务器
==========================================================
- VARNISH
软件包:varnish-3.0.6.tar.gz ????????????????????????????????????????????????????????注:依赖包read-devel pcre-devel
安装方式:源码安装 ??????????????
传输协议和端口:TCP 80
配置文件:
/etc/sysconfig/varnish
/etc/varnish/default.vcl
启动服务: ?service ?varnish ?start
配置文件内容:
vim /etc/sysconfig/varnish
66行:VARNISH_LISTEN_PORT=80 ???????????????????????????????????????????????????????????????????//默认端口
89行:VARNISH_STORAGE_SIZE=64M ????????????????????????????????????????????????????????????//定义缓存大小
92行:VARNISH_STORAGE="malloc,${VARNISH_STORAGE_SIZE}" ???????//基于内存方式缓存
linux系统处理过程:
mkdir /etc/varnish
cp /usr/local/varnish/etc/default.vcl /etc/varnish/
uuidgen > /etc/varnish/secret
vim ?/etc/varnish/default.vcl
配置内容
backend default {
.host = "192.168.2.100";
.port = "80";
}
==========================================================
在centos 7上搭建web常用软件和优化
原文地址:http://blog.51cto.com/13667098/2090471