证明「市场分析」能力,这一篇就够了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了证明「市场分析」能力,这一篇就够了相关的知识,希望对你有一定的参考价值。
参考技术A “市场分析”是产品经理的常用工作技能,也是产品面试时的考察点。 对于应届求职者而言,表现出较好的 市场sense ,是面试加分项。本篇笔记,全面 总结了市场分析的体系框架及知识内容 ,方便大家建立自己的知识体系。本篇笔记包括以下内容:1. 市场分析的目的
2. 市场分析的关注要素
3. 市场信息数据获取渠道
4. 市场分析通用思维
5. 市场分析模型工具
6. 市场分析报告的撰写
通过市场分析,可以认清 行业现状、行业发展趋势、竞争态势 等市场情况,有助于企业 制定或修正 发展战略 ,减少决策失误,降低经营风险。
关注要素有 3项 : 行业环境,客户及用户, 参与 赛道的产品 。
行业环境为宏观层面, 主要包括:政治经济,政策法律,社会文化,科技水平,地理环境等方面 。可将行业环境理解为 产品成长的土壤 。一个产品想要长期发展,一定要符合当地法律政策,符合当地文化价值观,也一定会受限于科技发展水平和地理环境等因素。
举个例子, 星巴克的发展和壮大,依赖于西方国家根深蒂固的咖啡文化 ,所以在中国长出一个本土“星巴克”就很困难,因为缺少文化习惯的支持。
在这里, “客户”指为产品付费的主体,“用户”指使用产品的主体 。
一般情况,客户和用户为同一主体 。比如,你花钱给自己点了外卖,此时你既是付费方,又是享受服务的人。
有 特殊情况,客户和用户是两类主体 。比如,父母花钱给孩子买玩具;老板花钱给公司员工买办公软件;主人花钱给宠物买零食。
客户和用户信息是产品生存的主要依据,为了描述方便,这里把他们统称为顾客。 顾客信息主要包括: 顾客总体规模,顾客年龄结构、地理分布、消费水平,顾客现有需求、潜在需求、需求特征,顾客消费习惯等。
研究垂直赛道相关产品,有利于玩家找准产品定位,规避发展风险。 产品信息主要包括:产品功能,产品的增值服务,产品市场占有率,产品的营销推广策略等。
收集一手数据方法
调查问卷,焦点小组
政府部门官方网站
工信部官网,国家统计局官网,国家发改委官网,中国政府网,科技部官网
企业年报查询网站
携创网,巨潮资讯
第三方机构调研报告查询网站
艾瑞咨询,易观,阿里研究院,企鹅智酷,DCCI互联网数据中心
产品数据查询网站
百度指数,网站排行榜,艾瑞数据,questmobile
市场分析的底层思维--对比 (小路总结)
数据分析离不开“对比”,单纯讨论一个数据点没有意义, 只有把数据放入可比较的坐标框架中,才能给决策者以启发 。市场分析中的数据,包括 数值数据 (数字)和 非数值数据 (文本、图像等),两种类型都需要对比分析思维。
一般情况, 对比框架 分为三个维度。 x维度 为分析对象的相同属性,是给 分类归 纳 比较对象的线索和依据 ; y和z维度 为分析对象的不同属性, 二者的相关变化规律,是市场分析的结果与价值体现 。
那么比较对象都有什么属性呢?小路认为, 市场信息的属性可以用5W2H来理解 。
What--是什么?什么内容?
Why--为什么?什么原因?
Who--是谁?有谁实施?
When--什么时候?哪段时间?
Where--什么地方?在哪里发生?
How--怎么样?什么方式?
How much--需要多少?什么程度?
小路用 两个实例 ,具体 解释该思维方式 。
图表与结论皆来自于艾瑞咨询《淘金时代结束:2018中国在线教育行业发展研究报告》
解析: x维度为市场规模(what),y维度为时间(when),z维度为规模大小和增长率(how much)。 通过对比可以发现 ,2018年中国在线教育市场规模达2517.6亿元,同比增长25.7%,预计未来3-5年市场规模增速保持在16-24%之间,增速持续降低但增长势头保持稳健。
解析: x维度为市场领域(where或者what),y维度为细分市场类型(what),z维度为场景特点(what)和学习效果(how)。 通过对比可以发现 ,考研、留学语言考试等高等学历考试培训,教师、公务员等人才招录考试培训,教师资格证、CPA证等资格认证考试培训,这三个领域的在线学习效果最佳,主要原因是这些场景具有“结束时间明确、学习内容有限”的特点,用户学习时间紧张、学习内容又聚焦于考点,因此学习动力最强、难度最小。
市场分析模型是市场调研的常用工具。 套用模型分析数据,不仅为解决问题提供全面系统的思考,也为分析报告的撰写提供思路 。
以下分析模型的注解,皆来自于百度百科。
PEST分析模型
PEST是一种企业所处的宏观环境分析模型,所谓PEST,即P是政治(政治),E是经济(经济),S是社会(社会),T是技术(技术)。这些是企业的外部环境,通常不受企业掌握,这些因素也被戏称为“害虫(有害物)”。
SWOT分析法
SWOT分析就是将与研究对象密切相关的各种主要内部优势(strengths)、劣势(weaknesses),和外部机会 (opportunities)和威胁 (threats)等,通过调查列举出来,并依照矩阵形式排列,然后用系统分析的思想,把各种因素相互匹配起来加以分析,从中得出一系列相应的结论,而结论通常带有一定的决策性。运用这种方法,可以对研究对象所处的情景进行全面、系统、准确的研究,从而根据研究结果制定相应的发展战略、计划以及对策等。
波士顿矩阵
又称市场增长率-相对市场份额矩阵,该模型认为一般决定产品结构的基本因素有两个:即市场引力与企业实力。市场引力,包括整个市场的销售量(额)增长率、竞争对手强弱及利润高低等。其中最主要的是反映市场引力的综合指标——销售增长率,这是决定企业产品结构是否合理的外在因素。企业实力,包括市场占有率,技术、设备、资金利用能力等,其中市场占有率是决定企业产品结构的内在要素,它直接显示出企业竞争实力。
销售增长率与市场占有率既相互影响,又互为条件:市场引力大,市场占有高,可以显示产品发展的良好前景,企业也具备相应的适应能力,实力较强;如果仅有市场引力大,而没有相应的高市场占有率,则说明企业尚无足够实力,则该种产品也无法顺利发展。相反,企业实力强,而市场引力小的产品也预示了该产品的市场前景不佳。
波特五力模型
该模型认为行业中存在着决定竞争规模和程度的五种力量,这五种力量综合起来影响着产业的吸引力以及现有企业的竞争战略决策。五种力量分别为同行业内现有竞争者的竞争能力、潜在竞争者进入的能力、替代品的替代能力、供应商的讨价还价能力、购买者的讨价还价能力。
5W2H分析法
又称七问分析法,是用五个以W开头的英语单词和两个以H开头的英语单词进行设问(在03节有注释),发现解决问题的线索,寻找思路,进行设计构思,该模型对于决策和执行性的活动措施有帮助,也有助于弥补考虑问题的疏漏。
4Ps营销理论
4Ps分别代表产品(Product)、价格(Price)、渠道(Place)、宣传(Promotion),策略(Strategy)。该营销理论该模型实际上是从管理决策的角度来研究市场营销问题。从管理决策的角度看,影响企业市场营销活动的各种因素(变数)可以分为两大类:一是企业不可控因素,即营销者本身不可控制的市场;营销环境,包括微观环境和宏观环境;二是可控因素,即营销者自己可以控制的产品、商标、品牌、价格、广告、渠道等等,而4Ps就是对各种可控因素的归纳。
市场报告是市场分析的最终产出。 对于产品求职者来说 ,市场分析报告是向HR证明 信息收集能力、数据分析能力、语言表达能力、解决问题能力、积极主动态度 的作品。HR可能不会过高期望内容水平,而是 更多注重报告格式美观性 。所以大家不要怕被嘲笑内容幼稚,just do it!
有 目标 的市场分析,才能发挥最大的价值。否则,很容易迷失在海量的信息数据里,无从下手或白费功夫。
收集信息要尽量全面,有数据支撑才有说服力。大家可以变换不同属性关键词(时间年份,企业名称,产品名称,地区信息等),通过03节所列举的收集渠道查找信息,并用 列表打标签 的方式, 归纳整理市场信息 ,方便后期使用。
市场分析报告并没有固定的模块要求,大家可 根据分析目的,灵活制定大纲 ,使报告看起来 内容充实、结论可靠 即可。
一般的, 市场分析报告应包括 :行业整体发展态势(如市场规模、盈利状况)、细分赛道玩家格局(如市场占比、商业模式)、头部企业产品分析(如产品数据、优劣总结)、未来机遇与挑战的预测等内容。
完成大纲制定后,可依据分析内容, 确定各模块使用的分析模型工具 (见05节)。小路认为对于初学者而言,提前确定分析模型,不仅 有利于从step 2的信息库中,快速抓取目标信息,还能梳理相应报告模块的写作思路,保证逻辑的专业性和严密性 。分析模型的使用,是快速上手市场分析的 小窍门 。
具体内容怎样写,小路没办法帮助大家,就要看大家平时的观点积累和对内容的思考理解了。
不过小路可以提醒大家,报告完成后要反复检查, 3遍以上 的那种。空格,标点,字体大小,错别字,图片对齐…… 在面试过程中,HR可能没时间去分析你的逻辑是否正确,却有机会挑一挑那些鸡毛蒜皮的小错误。 大家一定要一板一眼,“锱铢必较”地检查。
更多 产品经理求职笔记, 欢迎关注 「路人十六 」公众号。
知识总结篇
数据分析 // 市场分析 // 需求分析
2. 技能提升篇
数据透视表 // 产品功能结构图 // 泳道图
3. 学习方法篇
自学准备产品求职 // 信息查询渠道总结
4. 面试作品篇
产品分析报告 // 泳道图
5. 临阵磨枪篇
简历制作 // 面试考点2|你做产品经理有什么优势?
学习Nginx这一篇就够了
[root@caochenlei ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel
[root@caochenlei ~] # wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@caochenlei ~]# tar -zxvf nginx-1.18.0.tar.gz
[root@caochenlei ~]# cd nginx-1.18.0
[root@caochenlei nginx-1.18.0]# ./configure
[root@caochenlei nginx-1.18.0]# make && make install
暴力停止服务:/usr/local/nginx/sbin/nginx -s stop
优雅停止服务:/usr/local/nginx/sbin/nginx -s quit
检查配置文件:/usr/local/nginx/sbin/nginx -t
重新加载配置:/usr/local/nginx/sbin/nginx -s reload
查看相关进程:ps -ef | grep nginx
[root@caochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@caochenlei ~]# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables:[确定]
#虚拟机域名 映射的网址
192.168.206.128 www.123.com
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http:127.0.0.1:8080;
root html;
index index.html index.htm;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.105/bin/apache-tomcat-7.0.105.tar.gz
[root@caochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
[root@caochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat
[root@caochenlei ~]# /usr/local/tomcat/bin/startup.sh
[root@caochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@caochenlei ~]# /etc/rc.d/init.d/iptables save
[root@caochenlei ~]# /usr/local/tomcat/bin/shutdown.sh
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx -s quit
[root@caochenlei ~]# /usr/local/tomcat/bin/shutdown.sh
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8080;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8081;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
[root@caochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat1
[root@caochenlei ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
[root@caochenlei ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat2
[root@caochenlei ~]# rm -f /usr/local/tomcat2/conf/server.xml
[root@caochenlei ~]# vi /usr/local/tomcat2/conf/server.xml
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
-->
<!-- Define an SSL HTTP/1.1 Connector on port 8443
This connector uses the BIO implementation that requires the JSSE
style configuration. When using the APR/native implementation, the
OpenSSL style configuration is required as described in the APR/native
documentation -->
<!--
<Connector port="8444" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8010"
redirectPort="8444" />
-->
<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->
<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
[root@caochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
[root@caochenlei ~]# /etc/rc.d/init.d/iptables save
[root@caochenlei ~]# mkdir -p /usr/local/tomcat1/webapps/edu
[root@caochenlei ~]# echo "<h1>This is 8080 Port</h1>" > /usr/local/tomcat1/webapps/edu/a.html
[root@caochenlei ~]# mkdir -p /usr/local/tomcat2/webapps/vod
[root@caochenlei ~]# echo "<h1>This is 8081 Port</h1>" > /usr/local/tomcat2/webapps/vod/a.html
[root@caochenlei ~]# /usr/local/tomcat1/bin/startup.sh
[root@caochenlei ~]# /usr/local/tomcat2/bin/startup.sh
[root@caochenlei ~] # /usr/local/tomcat1/bin/shutdown.sh
[root@caochenlei ~] # /usr/local/tomcat2/bin/shutdown.sh
=:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
~:用于表示uri包含正则表达式,并且区分大小写。
~*:用于表示uri包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
upstream myserver {
server 192.168.206.128:8080;
server 192.168.206.128:8081;
}
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# mkdir -p /usr/local/tomcat2/webapps/edu
[root@caochenlei ~]# echo "<h1>This is 8081 Port</h1>" > /usr/local/tomcat2/webapps/edu/a.html
[root@caochenlei ~]# /usr/local/tomcat1/bin/startup.sh
[root@caochenlei ~]# /usr/local/tomcat2/bin/startup.sh
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx -s quit
[root@caochenlei ~]# /usr/local/tomcat1/bin/shutdown.sh
[root@caochenlei ~]# /usr/local/tomcat2/bin/shutdown.sh
[root@caochenlei ~]# mkdir -p /data/www/
[root@caochenlei ~]# mkdir -p /usr/local/tomcat/webapps/ROOT/www
[root@caochenlei ~]# echo "<h1>/data/www/a.html</h1>" > /data/www/a.html
[root@caochenlei ~]# echo "<h1>/usr/local/tomcat/webapps/ROOT/www/a.html</h1>" > /usr/local/tomcat/webapps/ROOT/www/a.html
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location /www/ {
root /data/;
index index.html index.htm;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# /usr/local/tomcat/bin/startup.sh
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx -s quit
[root@caochenlei ~]# /usr/local/tomcat/bin/shutdown.sh
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
upstream myserver {
server 192.168.206.128:8080;
server 192.168.206.128:8081;
}
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# /usr/local/tomcat1/bin/startup.sh
[root@caochenlei ~]# /usr/local/tomcat2/bin/startup.sh
[root@caochenlei ~]# yum install -y keepalived
[root@caochenlei ~]# rm -f /etc/keepalived/keepalived.conf
[root@caochenlei ~]# vi /etc/keepalived/keepalived.conf
[root@caochenlei ~]# vi /etc/keepalived/nginx_check.sh
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process" | grep -v grep )" == "" ]
then
killall keepalived
fi
[root@caochenlei ~]# service keepalived start
[root@caochenlei ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel
[root@caochenlei ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@caochenlei ~]# tar -zxvf nginx-1.18.0.tar.gz
[root@caochenlei ~]# cd nginx-1.18.0
[root@caochenlei nginx-1.18.0]# ./configure
[root@caochenlei nginx-1.18.0]# make && make install
[root@caochenlei nginx-1.18.0]# cd ~
[root@caochenlei ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@caochenlei ~]# /etc/rc.d/init.d/iptables save
iptables:将防火墙规则保存到 /etc/sysconfig/iptables: [确定]
[root@caochenlei ~]# vi /usr/local/nginx/conf/nginx.conf
upstream myserver {
server 192.168.206.128:8080;
server 192.168.206.128:8081;
}
server {
listen 80;
server_name 192.168.206.128;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
}
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx
[root@caochenlei ~]# yum install -y keepalived
[root@caochenlei ~]# rm -f /etc/keepalived/keepalived.conf
[root@caochenlei ~]# vi /etc/keepalived/keepalived.conf
[root@caochenlei ~] # vi /etc/keepalived/nginx_check.sh
#!/bin/bash
if [ "$(ps -ef | grep "nginx: master process" | grep -v grep )" == "" ]
then
killall keepalived
fi
[root@caochenlei ~]# service keepalived start
[root@caochenlei ~]# service keepalived stop
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx -s quit
[root@caochenlei ~]# /usr/local/tomcat1/bin/shutdown.sh
[root@caochenlei ~]# /usr/local/tomcat2/bin/shutdown.sh
[root@caochenlei ~]# service keepalived stop
[root@caochenlei ~]# /usr/local/nginx/sbin/nginx -s quit
配置运行Nginx服务器用户(组)
worker process数
Nginx进程
PID存放路径错误日志的存放路径
一个Nginx进程打开的最多文件描述符数目
#配置worker进程运行用户(和用户组),nobody也是一个Linux用户,一般用于启动程序,没有密码
user nobody;
#user www www;
#配置工作进程数目,根据硬件调整,通常等于CPU数量或者2倍于CPU数量
worker_processes 1;
#配置全局错误日志及类型,[debug | info | notice | warn | error | crit],默认是error
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#配置进程pid文件
pid logs/nginx.pid;
#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与Nginx进程数相除,但是Nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。
worker_rlimit_nofile 65535;
事件驱动模型的选择
最大连接数的配置
#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
#epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
use epoll;
#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections 65535;
定义MIMI-Type
自定义服务日志
允许sendfile方式传输文件
连接超时时间
单连接请求数上限
#常见的一些基础配置
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
large_client_header_buffers 4 64k; #设定请求缓冲
client_max_body_size 8m; #设定请求缓冲
sendfile on; #开启高效文件传输模式,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。
tcp_nopush on; #防止网络阻塞
tcp_nodelay on; #防止网络阻塞
keepalive_timeout 120; #长连接超时时间,单位是秒
#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#gzip模块设置
gzip on; #开启gzip压缩输出
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区
gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 2; #压缩等级
gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型
gzip_vary on; #增加响应头'Vary: Accept-Encoding'
limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用
配置网络监听
配置https服务
基于名称的虚拟主机配置
基于IP的虚拟主机配置
#虚拟主机的常见配置
server {
listen 80; #配置监听端口
server_name localhost; #配置服务名
charset utf-8; #配置字符集
access_log logs/host.access.log main; #配置本虚拟主机的访问日志
location / {
root html; #root是配置服务器的默认网站根目录位置,默认为Nginx安装主目录下的html目录
index index.html index.htm; #配置首页文件的名称
}
error_page 404 /404.html; #配置404错误页面
error_page 500 502 503 504 /50x.html; #配置50x错误页面
}
#配置https服务,安全的网络传输协议,加密传输,端口443
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
请求根目录配置更改
网站默认首页配置
location的URI
=:用于不含正则表达式的uri前,要求请求字符串与uri严格匹配,如果匹配成功,就停止继续向下搜索并立即处理该请求。
~:用于表示uri包含正则表达式,并且区分大小写。
~*:用于表示uri包含正则表达式,并且不区分大小写。
^~:用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配。
以上是关于证明「市场分析」能力,这一篇就够了的主要内容,如果未能解决你的问题,请参考以下文章