在centos 7上搭建web常用软件和优化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在centos 7上搭建web常用软件和优化相关的知识,希望对你有一定的参考价值。

WEB搭建及优化
本文主要是针对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

===========================================================================

  1. 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>

==================================================================================

  1. 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>

====================================================================

  1. 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 //允许本机所有主机使用代理服务器

==========================================================

  1. 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常用软件和优化的主要内容,如果未能解决你的问题,请参考以下文章

CentOS6.7优化方案

[博客更新]在 CentOS 7 上安装 Java Web 前后端运行环境

如何在CentOS 7系统搭建企业常用的远程yum仓库,详细教学!

CentOS7 上部署Haproxy及Nginx 搭建Web群集

CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

CentOS 7 软RAID5设置