在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";
}

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

原文地址:http://blog.51cto.com/13667098/2090471

时间: 2024-11-08 05:17:32

在centos 7上搭建web常用软件和优化的相关文章

在CentOS 6上搭建私有的Docker Registry

在CentOS 6上搭建私有的Docker Registry v2Registry概念Registry是一个无状态的, 高可扩展的服务器端应用程序, 用于存储和分发Docker Image.依赖安装1. 安装Docker要使用Docker Registry, 当然首先要安装Docker. 假设你已经安装好Docker. 没有安装好可以参考官方文档.2. 安装Docker-composeDocker-compose是一个非常有用的Docker运行, 管理的工具. 你可以通过定义compose文件,

在树莓派上搭建web服务器——基于Apache

1,Apache简介: Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机 平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件. 详细介绍见: [百度百科-apache] [维基百科-Apache HTTP Server] 2,安装Apache到树莓派: apt-get install apache2 提示Do you want to continue[Y/n] ? 的时候输入y,回车,等待安装完毕. 3,局域网访问测试: 在浏览器地址栏输入

在CentOS 7上搭建lamp环境

在CentOS 7上安装httpd.php.MariaDB,ServerIP 192.168.199.157 首先安装相关程序包 2.启动httpd和mariadb 3.查看各服务启动情况 80端口和3306端口都处于监听状态了 4.测试php (1)编辑/etc/httpd/conf/httpd.conf文件,在DirectoryIndex后面填写index.php,定义默认主页为index.php. (2)检查配置文件是否有语法错误. (3)制作默认主页index.php. (4)重载htt

CentOS 7 上搭建nginx 1.6

准备要素,编译环境,创建组,创建被service所管理的脚本,两种隐藏版本方法,实现主进程用root创建 子进程有nginx 创建,图片缓存时间 在最新的centos7.3上搭建nginx 1.6. 安装需要的环境 yum install gcc gcc-c++ pcre-devel zlib-devel -y yum install elinks -y 创建用户组 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ cd /opt/nginx-

Mac上搭建Web服务器--Apache

局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境,我们只需要简单的启动它就行了. 1.命令:sudo apachectl start Apache服务器默认的web根目录在:/Library/WebServer/Documents Apache的配置文件在:/etc/apache2 相关命令: 停止 Apache:sudo apachectl stop 重启 Apache:sudo apachectl restart 2.浏览器输入:http://

CentOS 7上搭建Docker环境

一.Docker介绍和安装 http://linux.cn/article-4340-1.html Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点. 容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离.虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短.容器使用宿主操作系统的内核

CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7 centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6 如下方法按照官网来操作,手工安装过于麻烦.当前测试平台为小鸟云的三个月centos 7测试机. 1. 安装配置依赖项 如想使用Postfix来发送邮件,在安装期间请选择'Internet Site

Virtual Box + CentOS Minimal + Apache搭建Web服务器

本文并不介绍关于Virtual Box, CentOS, Apache的安装, 主要针对安装后相关的配置, 使宿主机(Host)可以访问客户机(Guest: CentOS in Virtual Box)提供的Web服务. Virtual Box网络设置 网上不少文章说要使用Host访问Guest的Web服务, 需要提供两种网络(NAT与HostOnly), 实际上我们只需要使用NAT网络即可达到目的. 以网卡1为例, 在连接方式中选择"网络地址转换(NAT)", 混杂模式设为"

CentOS 7 上搭建 ownCloud 私有云

所需软件 & 环境 操作系统:CentOS 7.3.1711 最小安装 (已关闭 SELinux 和防火墙) 应用软件: Nginx  .MariaDB  .PHP  .ownCloud 10.0.3 一.安装软件包 yum -y install nginx mariadb-server redis lbzip2 php71w-common php71w-fpm php71w-gd php71w-mysql php71w-mbstring php71w-intl php71w-mcrypt ph