Centos环境配置+nginx+tomcat+mysql+redis

 

服务器信息
IP: 139.129.232.***
端口: 10022
账号: ****
密码: ******
环境配置路径:
/usr/local/
项目路径:
/cn/com/******
/cn/com/***
mkdir 文件夹名   创建文件夹


一、 修改Centos端口号的方法:
1.修改配置文件:/etc/ssh/sshd_config ,找到  “#port  ”
2.启动:systemctl start sshd.service
注意:CentOS 7 下重启服务不再通过 service  操作,而是通过 systemctl 操作。
查看:systemctl status sshd.service
启动:systemctl start sshd.service
重启:systemctl restart sshd.service
自启:systemctl enable sshd.service


二、CentOS 7 下安装 Nginx
 1. gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2. PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
3. zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4. OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
5.    进入配置目录
6. 使用wget命令下载(推荐)。
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
7.    依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
8.  使用默认配置
./configure
9. 编译安装
make
make install
查找安装路径:whereis nginx
10.conf.con配置

															######### 全局配置 #########
																																	
#nginx worker进程运行用户以及用户组
user  root;	

# nginx进程数,建议按照cpu数目来指定,一般为它的倍数。
worker_processes  2;	

# 这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(查看ulimit值命令:ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致
worker_rlimit_nofile 65535;

#定位全局错误日志文件,级别以notice显示,还有debug,info,warn,error,crit模式,debug输出最多,#crir输出最少,根据实际环境而定
error_log  logs/error.log  notice;

#指定进程id的存储文件位置
pid        logs/nginx.pid;

#工作模式及连接数上限
events {
		
		#epoll是多路复用IO(I/O Multiplexing)中的一种方式,linux平台2.6以上(查看系统内核版本命令:uname -a)系统支持epoll时nginx默认采用epoll来高效的处理事件,可以大大提高nginx的性能
    use epoll;

		#单个后台worker process进程的最大并发链接数,在设置了反向代理的情况下,max_clients = worker_processes(nginx进程数) * worker_connections(并发链接数) / 4 具体原因是worker_connections值的设置跟物理内存大小有关,因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数,而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
    worker_connections  2048;
    
    #Tips:
    # 我们来看看360M内存的VPS可以打开的文件句柄数是多少:
    # $ cat /proc/sys/fs/file-max
    # 输出 34336
    # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
    # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置
    # 使得并发总数小于操作系统可以打开的最大文件数目,其实质也就是根据主机的物理CPU和内存进行配置
    # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
}

															######### http配置 #########

#Http服务器配置,Gzip配置
http {
		
		#加载配置的虚拟主机
		include  			vhosts/zy/*.conf;
		
		#加载配置的proxy
		include       proxy.conf;
		
		#设定mime类型,类型由mime.type文件定义
    include       mime.types;
    
    #核心模块指令,智力默认设置为二进制流,当文件类型未定义时使用这种方式
    default_type  application/octet-stream;

		#sendfile 指令指定nginx是否调用sendfile函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile  on;
    
    #开启防止网络阻塞
    tcp_nopush     on;

    #客户端长连接保存活动的超时时间,单位是秒
    keepalive_timeout  65;
    
    #开启gzip压缩
    gzip  on;
    gzip_min_length 1k;		#设置允许压缩的页面最小字节数gzip_buffers 4 16k;#申请4个单位为16K的内存作为压缩结果流缓存
		gzip_buffers 4 16k;		#不压缩临界值,大于1K的才压缩,一般不用改
    gzip_http_version 1.1;		#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
    gzip_comp_level 5;		#指定gzip压缩比,1-9数字越小,压缩比越小,速度越快
		gzip_types text/plain application/json application/x-javascript text/css application/xml;		#压缩类型
    gzip_vary on;		#让前端的缓存服务器进过gzip压缩的页面,它跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",
		gzip_disable "MSIE [1-6]\.";		#IE6对Gzip不怎么友好,不给它Gzip了
    
    #配置一个请求流
    upstream	tomcats {
    	server  127.0.0.1:8080 weight=1;	#负载均衡配置,服务器占重比
    	server  127.0.0.1:8088 weight=1;
    }
}

11.proxy.conf配置(pro具体设置)

#websocket配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 7200s;

#缓冲区优化
proxy_buffering		on;		#proxy_buffering设置为off,则proxy_buffers和proxy_busy_buffers_size失效,无论proxy_buffering是否开启,对proxy_buffer_size都是生效的.
proxy_buffers		4 256k;		#缓冲区,网页平均在32k以下的设置
proxy_buffer_size		256k;		#设置代理服务器(nginx)缓冲区大小
proxy_busy_buffers_size 256k;		#高负荷下缓冲大小

proxy_temp_file_write_size 120m;		#临时文件缓存配置:一次访问能写入的临时文件的大小,默认是proxy_buffer_size和proxy_buffers中设置的缓冲区大小的2倍,Linux下一般是8k
proxy_max_temp_file_size 128m;		#临时文件缓存配置:响应内容大于proxy_buffers指定的缓冲区时, 写入硬盘的临时文件的大小. 如果超过了这个值, Nginx将与Proxy服务器同步的传递内容, 而不再缓冲到硬盘. 设置为0时, 则直接关闭硬盘缓冲.

#其它配置
proxy_set_header        X-Real-IP $remote_addr; #获取真实IP
proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size    50m;		#上传文件大小配置
client_body_buffer_size 256k;		#POST请求带参参数数大小设置
proxy_next_upstream http_500 http_502 http_503 http_404	error timeout invalid_header;		#标识tomcat返回以下(http_500 http_502 http_503 http_504 error timeout invalid_header)错误码都会进行重试另外一台服务器

12.server.conf配置

server {

		#监听端口
		listen		80;
		
		#域名设置多个可用空格隔开
		server_name		******* *******;
		
		#默认编码
		charset		UTF-8;
		
		#默认文件
		location / {
		
				root		/cn/com/zhangjiashao;
				index		index.html index.htm;
		}

		error_page   500 502 503 504  /50x.html;
		
		#请求错误页面
		location = /50x.html {
				
				root   html;
		}
}

13.static.conf配置(二级虚拟主机)

																							#########静态资源配置#########
server {
		listen 80;
		server_name **********;
		
		#默认文件
		index		index.html index.htm;
		root		/cn/com/zhangjiashao/filesystem;
 
 		
		  
		#配置Nginx动静分离
    location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
    
    		#浏览器缓存15天
				expires 15d;
    }
    
		#静态文件调试项目记得修改参数
		location ~ .*.(js|css)?$ {
				
				expires 1h;
		}
}

15.vserver.conf配置(二级虚拟主机) 同上

NGINX开机启动

1、在系统服务目录里创建nginx.service文件
vi /usr/lib/systemd/system/nginx.service

2、写入内容如下:

# [Unit]:服务的说明
[Unit]

# Description:描述服务
Description=nginx

# After:描述服务类别
After=network.target

# [Service]服务运行参数的设置
[Service]

# Type=forking是后台运行的形式
Type=forking

# ExecStart为服务的具体运行命令
ExecStart=/usr/local/nginx/sbin/nginx

# ExecReload为重启命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload

# ExecStop为停止命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit

# PrivateTmp=True表示给服务分配独立的临时空间
PrivateTmp=true

# 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]
WantedBy=multi-user.target

3、设置开机自启动
      systemctl enable nginx.service

4、查看nginx状态
      systemctl status nginx.service
很奇怪,明明启动成功了,为什么显示Active: inactive (dead)?

5、杀死nginx重启nginx

      ps aux | grep nginx
      pkill -9 nginx

6、启动nginx

      systemctl start nginx

      再次查看状态,变成了active,搞定。

7、重启服务器
      reboot

8、再次连接后,查看服务状态
      systemctl status nginx.service

      看到nginx已经启动,至此,nginx自启动配置成功。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值