Nginx 配置 和安装
Nginx
web服务器和web框架的关系
web服务器(nginx):
接收HTTP请求(例如www.pythonav.cn/xiaocang.jpg)并返回数据
web服务器,仅仅就是 接收一个web请求,返回一个磁盘上的静态资源(jpg,gif,mp4,...)
pythonav.cn/man.jpg
错误码
50x 服务端错误,django flask后台 崩了
40x 客户端错误 权限不足 ,资源不存在等等...
30x 资源重定向
20x 请求正确返回
技术栈:
贵
java + apache(web服务器,处理静态资源) + oralce(数据库) + tomcat(处理java应用) + svn(代码托管) + js +jqery + redhat
为了省钱,切换开源技术栈
java + perl + python + nginx + mysql + git + js ... + centos
web框架(django,flask):开发web应用程序,处理接收到的数据
nginx安装步骤
源码编译安装(源码编译,可以自定制更多功能) openssl
- 解决软件正常运转所需依赖包,
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
- 下载源代码
- 解压缩
tar -zxvf nginx-1.12.0.tar.gz
- 进入源码目录,编译安装
./configure --prefix=/opt/nginx112/
make && make install
- 进入nginx安装好的目录
cd /opt/nginx112/
- 学习nginx功能目录,nginx主目录结构如下
[root@s16ds nginx112]# ls
conf 配置文件nginx.conf(nginx的功能参数,都在这个文件定义了)
html 存放前端页面
logs 存放nginx的运行日志,错误日志
sbin 存放nginx可执行程序的目录
- 卸载原本的yum安装的nginx
yum remove nginx -y
- 添加nginx的环境变量,可以快捷使用nginx
vim /etc/profile
PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/node-v8.6.0-linux-x64/bin:/opt/nginx112/sbin"
命令
开启nginx
nginx
重启nginx
nginx -s reload
关闭nginx
nginx -s stop
学习nginx.conf 核心配置
nginx web 核心功能在这里已定义
路径:
vim /opt/nginx112/conf/nginx.conf
#工作进进程数
worker_processes 4;
# 日志配置
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
#定义nginx虚拟主机的
server {
#nginx监听的端口,默认浏览器是80
listen 80;
#填写服务器的域名,如果你有域名,nginx会解析到当前这个虚拟主机
#当我访问pythonav.cn:80
server_name pythonav.cn;
#location就是nginx的路径资源匹配,
#就是当我请求
#pythonav.cn
#pythonav.cn/man.jpg
#pythonav.cn/av/pian.mp4
#这个 location / 这个语法是万能匹配,你所有的请求,都会进入这个location
location / {
#这个root参数,用于定义网页根目录,路径
root html;
#定义网页的首页文件,名字且必须叫做index.html
index index.html index.htm;
}
# 错误 404 返回
error_page 404 /404.html;
}
...
}
nginx多虚拟主机
ip 和域名的关系 一对多
在linux服务器上,运行 2 个网站
nginx.conf定义多虚拟主机配置如下:
http{
# 虚拟主机1,我门用它运行,吃鸡网站
server{
listen 80;
# 当我访问的域名是 s16chiji.com ,就进入这个server标签
server_name s16chiji.com;
location / {
# 返回/opt/s16chiji目录下的内容
root /opt/s16chiji/;
index index.html;
}
}
# 虚拟主机2,用它运行,s16韩剧网站
server{
listen 80;
server_name s16hanju.com;
location / {
root /opt/s16hanju;
index index.html;
}
}
}
配置两个虚拟主机的网站资源
配置吃鸡网游的资料
在
/opt/s16chiji
目录下创建 index.html配置韩剧网址
在
/opt/s16hanju
目录下创建 index.html配置两个本地解析的域名 ,问题?去linux下还是windows下配置??
在本地 修改 C:\Windows\System32\drivers\etc\hosts 文件,写入如下配置
192.168.15.71 s16chiji.com
192.168.15.71 s16hanju.com在windows下测试访问 是否正常
s16chiji.com
s16hanju.com
12.定义nginx错误页面优化 404页面定制
修改 **nginx.conf **,找到如下参数
#通过这个参数,定义错误页面的文件 ,当状态码是 404 400 401 时,返回40x.html页面 路径以root 路径拼接
error_page 404 401 400 403 /40x.html;
nginx用访问 日志access.log
找到nginx.conf开启如下功能
http {
include mime.types;
default_type application/octet-stream;
log_format main 'remote_addr - remote_user [time_local] "request" '
'status body_bytes_sent "$http_referer" '
'"http_user_agent" "http_x_forwarded_for"';
access_log logs/access.log main;配置填写完毕后,重启nginx,加载功能
Nginx 配置 和安装的更多相关文章
- Linux环境下Nginx配置安装PHP
下边的安装配置方法,我试了一晚上没有成功,可能因为我的系统环境比较复杂,所以建议: 先安装PHP.使用yum命令安装,在安装配置MySQL,具体做法看博客中其他文章,至于Nginx服务器可以安装完这两 ...
- centos7 nginx配置httpsCenos(6.6/7.1)下从源码安装Python+Django+uwsgi+nginx环境部署(二)
1.yum安装nginx 下载对应当前系统版本的nginx包(package) # wget http://nginx.org/packages/centos/7/noarch/RPMS/ngin ...
- Nginx源码安装及调优配置
导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优 ...
- nginx的配置与安装
说说在Linux系统下安装配置Nginx的详细过程. 1. 从Nginx官网下载Nginx.目前最新的稳定版为:1.6.2. 2. 将下载下来的Nginx上传到/opt/nginx目录下.运行“tar ...
- Nginx与Tomcat安装、配置与优化
Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...
- [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡
原文连接: CENTOS 6.5 配置YUM安装NGINX http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...
- [Linux]于Mac在配置Linuxserver安装Nginx+PHP
Linux 安装Debian系统 我安装的是Debian7.5的系统,Debian的软件包管理和升级十分方便,并且系统也非常稳定. 安装盘能够去华中科技大学镜像.网易开源镜像站或者中国科技大学镜像下载 ...
- nginx的yum安装,基本参数使用,编译参数说明和Nginx基本配置,模块安装
nginx的yum安装从nginx官网获取源 vim /etc/yum.repose.d/nginx.repo[nginx]name=nginx repobaseurl=http://nginx.or ...
- Nginx概述及安装配置
1.概述 Nginx是一款开源的,高性能的Http和反向代理服务器,同时也是一个IMAP.POP3.SMTP代理服务器:Nginx可以作为一个HTTP服务器进行网站的发布处理,也可以作为反向代理进行负 ...
随机推荐
- macOS的OpenCL高性能计算
随着深度学习.区块链的发展,人类对计算量的需求越来越高,在传统的计算模式下,压榨GPU的计算能力一直是重点. NV系列的显卡在这方面走的比较快,CUDA框架已经普及到了高性能计算的各个方面,比如Goo ...
- Hadoop大数据挖掘从入门到进阶实战
1.概述 大数据时代,数据的存储与挖掘至关重要.企业在追求高可用性.高扩展性及高容错性的大数据处理平台的同时还希望能够降低成本,而Hadoop为实现这些需求提供了解决方案.面对Hadoop的普及和学习 ...
- Jenkins时间修改为北京时间
jenkins安装后时间一直是utc时间,不太方便. 系统管理->脚本命令行 运行: System.setProperty('org.apache.commons.jelly.tags.fmt. ...
- MySQL递归查询_函数语法检查_GROUP_CONCAT组合结果集的使用
1-前言: 在Mysql使用递归查询是很不方便的,不像Sqlserver可以直接使用声明变量,使用虚拟表等等.如:DECLARE,BEGIN ... END ,WHILE ,IF 等等. 在My ...
- MySql如何查询JSON字段值的指定key的数据
实例:SELECT param->'$.pay' as pay_type FROM game.roominfo; 其中:param是roominfo表的一个字段,当中存的是JSON字符串,pay ...
- [Go] golang缓冲通道实现资源池
go的pool资源池:1.当有多个并发请求的时候,比如需要查询数据库2.先创建一个2个容量的数据库连接资源池3.当一个请求过来的时候,去资源池里请求连接资源,肯定是空的就创建一个连接,执行查询,结束后 ...
- C# 批量删除Word超链接
对于Word文档中包含较多的超链接,如果一个个来删除很花费时间和精力,本篇文章将提供一种可用于批量删除Word中的超链接的方法.这里的超链接可以是页眉页脚处的超链接.正文中的超链接.表格中的超链接.文 ...
- Webpack4教程:第一部分,入口、输入和ES6模块
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://wanago.io/2018/07/16/webpack-4-course-par ...
- 仿9GAG制作过程(一)
有话要说: 准备开始学习Android应用程序的一个完整的设计过程.准备做一个仿9GAG的APP,前端界面设计+后台数据爬虫+后台接口设计,整个流程体验一遍.今天准备先把前端界面的框架给完成了. 成果 ...
- Android程序员的Flutter学习笔记
作为忠实与较资深的Android汪, 最近抽出了一些时间研究了一下Google的亲儿子Flutter, 尚属皮毛, 只能算是个简单的记录吧. Google自2017年第一次提出Flutter, 到20 ...