Nginx安装与配置

设置阿里Yum镜像

1.备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

3.生成缓存

yum makecache

安装
添加Nginx源

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

查询

yum list nginx

安装

yum install -y nginx

卸载

yum -y remove nginx*

启动

service nginx start

停止

service nginx stop

设为开机启动

chkconfig nginx on

systemctl enable nginx.service

重新加载配置

service nginx reload

查看版本

nginx -v

配置文件路径/etc/nginx/conf.d

配置
负载均衡

upstream git_xhkjedu {   
    server xxx.xxx.xxx.xxx:10080;
    server xxx.xxx.xxx.xxx:10080;
}  

server {  
    listen 80;  
    server_name git.xhkjedu.com;
    client_max_body_size  200m;  
    location / {  
          proxy_pass http://git_xhkjedu/;  
          proxy_cookie_path / /;
          proxy_redirect  / /; 
          proxy_set_header Host $host;  
          proxy_set_header X-Real-IP $remote_addr;  
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
          client_max_body_size 200m;  
          client_body_buffer_size 128k;   
          proxy_connect_timeout 300s;
          proxy_send_timeout 300s;
          proxy_read_timeout 300s;
          proxy_busy_buffers_size 64k;  
          proxy_temp_file_write_size 64k; 
          proxy_buffer_size 64k; 
          proxy_buffers 8 64k; 
          fastcgi_buffer_size 128k; 
          fastcgi_buffers 4 128k;
          send_timeout 60;   
    }
}

上传文件时注意一下配置

client_max_body_size 200m;  
client_body_buffer_size 128k;   
proxy_connect_timeout 300s;

静态项目

server {  
	listen 80;  
	server_name qg.xhkjedu.com;
	client_max_body_size  200m; 
	listen 443;
	ssl on;
	ssl_certificate   /etc/nginx/cert/xhkjedu.pem;
	ssl_certificate_key  /etc/nginx/cert/xhkjedu.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on; 
	index index.html;
	root  /data/web_front/qg;
}

静态项目主要添加了

root  /data/web_front/qg;
index index.html;

不添加的话 部分浏览器访问不到默认首页

SSL证书配置

listen 443;
ssl on;
ssl_certificate   /etc/nginx/cert/xhkjedu.pem;
ssl_certificate_key  /etc/nginx/cert/xhkjedu.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
HTTP重定向到HTTPS
server {  
	listen 80;  
	server_name qg.xhkjedu.com;
	return 301 https://$host$request_uri;
}

server {
	server_name qg.xhkjedu.com;
	client_max_body_size  200m; 
	listen 443;
	ssl on;
	ssl_certificate   /etc/nginx/cert/xhkjedu.pem;
	ssl_certificate_key  /etc/nginx/cert/xhkjedu.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on; 
	index index.html;
	root  /data/web_front/qg;
}

主要是配置了

return 301 https://$host$request_uri;

URL重写
主要用于地址迁移 重定向到新的地址

server {  
	server_name zujuan.xhkjedu.com;
	client_max_body_size  200m; 
	listen 443;
	ssl on;
	ssl_certificate   /etc/nginx/cert/xhkjedu.pem;
	ssl_certificate_key  /etc/nginx/cert/xhkjedu.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on; 
	index index.html;
	root  /data/web_front/zujuan;


	location /userapi/login {
    	rewrite ^/userapi/login$  https://zujuan.xhkjedu.com/userapi/tip.json;
	}
}

主要配置是

location /userapi/login {
	rewrite ^/userapi/login$  https://zujuan.xhkjedu.com/userapi/tip.json;
}

常见错误

nginx: [emerg] bind() to 0.0.0.0:8091 failed (13: Permission denied)

是开启selinux 导致的

查看状态 如果输出 disabled 或 Permissive 那就是关闭了
如果输出 Enforcing 那就是开启了 selinux

临时关闭

 临时关闭
setenforce 0 
 临时开启
setenforce 1

永久关闭

修改/etc/selinux/config文件

vi /etc/selinux/config

SELINUX=enforcing

改为

SELINUX=disabled

立即生效

source /etc/selinux/config

静态项目访问403

编辑配置文件

vi /etc/nginx/nginx.conf

修改内容

用户修改为root 默认是nginx

user root;

输入

getenforce

出现Enforcing表示已强制执行安全策略了

配置关闭

vi /etc/selinux/config

修改为disable

SELINUX=disabled

重启

reboot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值