CentOS7.0 采用压缩包 安装Nginx 1.7.4 
 
一、安装准备
首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,
这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装

$ yum install gcc-c++ 
$ yum install pcre pcre-devel 
$ yum install zlib zlib-devel 
$ yum install openssl openssl--devel

二、安装Nginx
安装之前,最好检查一下是否已经安装有nginx

$ find -name nginx 
如果系统已经安装了nginx,那么就先卸载

$ yum remove nginx 
首先进入/usr/local目录

$ cd /usr/local 
从官网下载最新版的nginx

$ wget http://nginx.org/download/nginx-1.7.4.tar.gz 
解压nginx压缩包

$ tar -zxvf nginx-1.7.4.tar.gz 
会产生一个nginx-1.7.4 目录,这时进入nginx-1.7.4目录

$ cd nginx-1.7.4 
接下来安装,使用--prefix参数指定nginx安装的目录,make、make install安装

$ ./configure $默认安装在/usr/local/nginx 
$ make 
$ make install

如果没有报错,顺利完成后,最好看一下nginx的安装目录

$ whereis nginx

安装完毕后,进入安装后目录(/usr/local/nginx)便可以启动或停止它了。
到此,使用CentOS安装nginx已经完成了,其实看看还是蛮简单的。

http://nginx.org/download/nginx-1.12.0.tar.gz
nginx反向代理、动静分离、负载均衡
centos 7 安装tomcat 
本身系统 已经安装了jdk
java -version
wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.44/bin/apache-tomcat-8.0.44.tar.gz 
[root@localhost ~]# cd /usr/local 
[root@localhost ~]# tar -zxv -f apache-tomcat-8.0.44.tar.gz // 解压压缩包 
[root@localhost ~]# rm -rf apache-tomcat-8.0.44.tar.gz // 删除压缩包 
[root@localhost ~]# 
mkdir tomcat 
mv apache-tomcat-8.0.44/* tomcat/
tomcat/bin/startup.sh
tomcat/bin/shutdown.sh

Centos7下添加Tomcat为系统服务
因为个人感觉在centos中启动tomcat比较麻烦、要一直cd到目录下面startup.sh才可以,
所以网上找到将tomcat作为系统服务,使用systemctl直接启动方法。现将个人的设置记录如下:
1.安装tomcat ,tomcat是很早之前安装的,使用filezilla上传解压到目录OK
2.修改tomcat的catalina.sh文件,vim打开 :set number 应该是139行下面添加 
CATALINA_PID="$CATALINA_BASE/tomcat.pid" 如下图黄色箭头所示
3.然后在/usr/lib/systemd/system下面建立tomcat.service文件
tomcat.service的内容:

[Unit]

Description=Tomcat

After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

主要就是设置好你的 jdk路径,忘记可以使用 echo $JAVA_HOME 来查看,
设置我们上面写的tomcat.pid的路径和tomcat启动路径
4.经过上面设置应该就好了
systemctl enable tomcat 开机启动
systemctl status tomcat 查看状态
systemctl start / stop / restart tomcat 开始/停止/重启 tomcat

5.遇到的问题
如果只是配好了 tomcat.pid就启动过tomcat的话,需要在所有配置完成后 在tomcat关闭的情况下
删除 rm tomcat.pid 文件,然后使用上面的命令来启动tomcat

参考:

http://www.linuxidc.com/Linux/2013-05/84612p2.htm
http://www.cnblogs.com/feiye512/p/5633489.html

 centos下nginx+tomcat安装配置 nginx结合tomcat

http://blog.csdn.net/heirenheiren/article/details/8013905

http://blog.csdn.net/sangdongqing/article/details/52872095

http://www.cnblogs.com/ystq/articles/5919114.html

server
{
listen 80;
server_name localhost;
index index.html index.htm index.jsp;#设定访问的默认首页地址
root /home/www/web/ROOT;#设定网站的资源存放路径

#limit_conn crawler 20;

location / {
index index.html index.jsp;
}

location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理
{
index index.jsp;
proxy_pass http://192.168.222.128:8080;#转向tomcat处理
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat
{
expires 30d;
}

location ~ .*\.(js|css)?$
{
expires 1h;
}

#定义访问日志的写入格式
#log_format access '$remote_addr - $remote_user [$time_local] "$request" '
#'$status $body_bytes_sent "$http_referer" '
#'"$http_user_agent" $http_x_forwarded_for';
#access_log /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径

}

#添加80端口到防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
#启动nginx
/usr/local/nginx/sbin/nginx

nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
pkill -9 nginx :强制停止Nginx

启动nginx:
nginx -c /path/to/nginx.conf

平滑重启nginx:
kill -HUP 主进程

centos 7 以上使用压缩包 安装nginx   配置 成服务和自启动

http://www.cnblogs.com/riverdubu/p/6426852.html

centos 7 以下使用压缩包 配置nginx 成服务和自启动

http://blog.sina.com.cn/s/blog_a51d7b7a0102v0c2.html

http://blog.csdn.net/awj3584/article/details/38036539

http://blog.csdn.net/sangdongqing/article/details/52872095

location匹配命令

~ #波浪线表示执行一个正则匹配,区分大小写
~* #表示执行一个正则匹配,不区分大小写
^~ #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
= #进行普通字符精确匹配
@ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

location 匹配的优先级(与location在配置文件中的顺序无关)
= 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。
普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。
^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。
最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。

location 优先级官方文档

Directives with the = prefix that match the query exactly. If found, searching stops.
All remaining directives with conventional strings, longest match first. If this match used the ^~ prefix, searching stops.
Regular expressions, in order of definition in the configuration file.
If #3 yielded a match, that result is used. Else the match from #2 is used.
=前缀的指令严格匹配这个查询。如果找到,停止搜索。
所有剩下的常规字符串,最长的匹配。如果这个匹配使用^〜前缀,搜索停止。
正则表达式,在配置文件中定义的顺序。
如果第3条规则产生匹配的话,结果被使用。否则,使用第2条规则的结果。

例如
location = / {
# 只匹配"/".
[ configuration A ] 
}
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ] 
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
[ configuration C ] 
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求. 
# 但是所有 /images/ 目录的请求将由 [Configuration C]处理. 
[ configuration D ] 
}

location = / {
# 只匹配"/".
[ configuration A ] 
}
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ] 
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配 其它location
[ configuration C ] 
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求. 
# 但是所有 /images/ 目录的请求将由 [Configuration C]处理. 
[ configuration D ] 
}
请求URI例子:

/ -> 符合configuration A
/documents/document.html -> 符合configuration B
/images/1.gif -> 符合configuration C
/documents/1.jpg ->符合 configuration D
@location 例子
error_page 404 = @fetch;

location @fetch(
proxy_pass http://fetch;
)

CentOS7.0 采用压缩包 安装Nginx 1.7.4和添加Tomcat为系统服务 nginx结合tomcat的更多相关文章

  1. Centos7.0挂载优盘安装jdk1.7和tomcat7.0

    Centos7.0挂载优盘安装jdk1.7和tomcat7.0 前言: 笔者发现用wget方法直接在服务器下载jdk和tomcat速度很慢,而且jdk1.7用wget方法下载链接不好找,不如直接从官网 ...

  2. 腾讯云CentOS7.0使用yum安装mysql

    背景: 今天才申请了腾讯云+校园计划的1元服务器,(https://www.qcloud.com/event/qcloudSchool)安装了Centos7.0,在安装mysql的时候,使用yum l ...

  3. CentOS7.0使用Yum安装Nginx

    安装Nginx yum install nginx 正常情况下必定是: 已加载插件:fastestmirror, langpacks base | 3.6 kB 00:00:00 docker-mai ...

  4. window 远程在Linux(centOS7.0)上安装JDK以及配置环境变量

    本人是在windows 7 上安装了虚拟机,虚拟机安装的是linux(centOS7.0)系统现在在Windows 上安装SecureCRT 远程虚拟机的linux系统,安装JDK以及配置环境变量. ...

  5. Linux CentOS7.0下JAVA安装和配置环境变量

    一.前言: CentOS7.0虽然自带JDK1.7和1.8,运行“java -version”命令也可以看到版本信息,但是jdk的安装环境不全,比如缺少tool.jar和dt.jar等,这就导致“ja ...

  6. [运维-安全]CentOS7.0环境下安装kangle和easypanel

    一.康乐简介 主要特点1.免费开源kangle技术团队希望国人拥有一款真正好用.易用.实用的国产web服务器.2.跨平台可在linux.windows.freebsd.openbsd.netbsd.s ...

  7. MySQL-5.7.19 在阿里云 CentOS-7.0 上的安装

    工具准备 查看系统是否安装了yum工具: [root@wangbo srv]# rpm -qa | grep yum yum-metadata-parser-1.1.4-10.el7.x86_64 y ...

  8. centos7.0 activemq的安装

    1:下载地址http://activemq.apache.org/activemq-590-release.html 2:wget http://archive.apache.org/dist/act ...

  9. 【CNMP系列】CentOS7.0下安装Nginx服务

    话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Ngi ...

随机推荐

  1. Java高级特性 第11节 JUnit 3.x和JUnit 4.x测试框架

    一.软件测试 1.软件测试的概念及分类 软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.它是帮助识别开发完成(中间或最终 ...

  2. py-day4-2 python 内置函数

    zip() #zip 拉链方法 一一对应 只要是序列类型的都可以 print(list(zip(('a','b','c'),(1,2,3)))) 结果: [('a', 1), ('b', 2), (' ...

  3. Elisp 中变量赋值函数 set 与 setq 辨析

    在 Elisp 中,为变量赋值的函数有 set 与 setq,但是,两者存在很大的差异. 使用 set 赋值: 如果我们想为变量 flowers 赋值为一个 列表 '(rose violet dais ...

  4. App_Code目录类文件无法被调用的解决方法

    1.选中类文件,在属性中的“生成操作”默认的“内容”改为“编译”就可以了. 2.重新生成解决方案

  5. Lubuntu下安装Python3.6

    Lubuntu下系统自带的Python版本是2.X,由于开发环境要求Python3,于是我们安装Python3.6 1.在终端输入以下命令: sudo add-apt-repository ppa:j ...

  6. 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  7. Retrofit 下载网络图片 保存到本地

    private void downImage(String imagePath) { try { CommonV2Api.downloadFile(mContext, imagePath, new I ...

  8. 画流程图挺好的软件---visio

    visio 2016 下载地址链接: https://pan.baidu.com/s/1oyfJL_QgOA7qUHOt7p8CIA 提取码: mv79 第一次做的样式图:

  9. promise规范之部分总结

    1. promise构造函数中的reject和resolve是微任务, 即先执行resolve后的代码,再执行之前通过then注册的代码 2. 对于状态已变更的promise来说,比如promiseA ...

  10. 机器学习笔记之二-win10+cuda9.1+CUDNN7+Anaconda3+VS2017+tensorflow1.5+opencv3.4

     [Tensorflow]环境搭建vs2017+win10+py3.6+cuda9.1+cudnn7+tf1.5 一.安装cuda 9.1+VS2017   一路下一步即可,环境变量cuda会自动配好 ...