1.nginx架构-基础环境搭建和nginx简介

一:系统
Ubuntu16.04-server版本
配置国内仓库源:

mv /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list

更换为如下内容

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse

然后执行命令:
apt-get update
apt-get upgrade

二:基础软件
A:ssh
用途:ssh登录
apt-get install openssh-server
解决root不能ssh登录问题:
修改/etc/ssh/sshd_config文件中的PermitRootLogin without-password
改为PermitRootLogin yes

B:samba
用途:Linux共享文件夹给windows开发环境用
1.终端输入:
sudo apt-get install samba samba-common
2.修改配置文件
sudo vim /etc/samba/smb.conf
在文尾添加:

[share]
path = /home/share
writable = yes
valid users = root
create mask = 0644
force create mode = 0644
directory mask = 0755
force directory mode = 0755
available = yes

3.设置root用户的smb服务访问密码,输入命令:
sudo smbpasswd -a root
输入密码。
4.重启samba服务
sudo service smbd restart
5.Windows下访问
快捷键:Win+R
输入:\IP地址 示例:\192.168.1.118
6.输入用户名root和密码

C:安装GCC/G++/VIM基础软件

三:安装nginx,搭建web服务器
nginx官网 http://www.nginx.org
1.安装前提
a)epoll,linux 内核版本为2.6或者以上;
b)gcc编译器,g++编译器
c)pcre库:函数库;支持解析正则表达式;
d)zlib库:压缩解压缩功能
e)openssl库:ssl功能相关库,用于网站加密通讯

安装依赖包
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev

2.下载nginx

cd /home/share/
mkdir nginx
cd nginx
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -xvf nginx-1.16.1.tar.gz 

3.nginx包的目录简介

auto / :编译相关的脚本,可执行文件configure一会会用到这些脚本
	cc / : 检查编译器的脚本
	lib / : 检查依赖库的脚本
	os / : 检查操作系统类型的脚本
	type / : 检查平台类型的脚本
CHANGES : 修复的bug,新增加的功能说明
CHANGES.ru : 俄语版CHANGES
conf / : 默认的配置文件
configure : 编译nginx之前必须先执行本脚本以生成一些必要的中间文件
contrib / : 脚本和工具,典型的是vim高亮工具
	vim / : vim高亮工具
html / : 欢迎界面和错误界面相关的html文件
man / : nginx帮助文件目录
src / : nginx源码目录
	core : 核心代码
	event : event(事件)模块相关代码
	http : http(web服务)模块相关代码
	mail : 邮件模块相关代码
	os : 操作系统相关代码
	stream : 流处理相关代码
objs/:执行了configure生成的中间文件目录
	ngx_modules.c:内容决定了我们一会编译nginx的时候有哪些模块会被编译到nginx里边来。
	Makefile:执行了configure脚本产生的编译规则文件,执行make命令时用到		

4.nginx的编译和安装

# 进入nginx目录
/home/share/nginx-1.16.1
# 执行命令
./configure
	--prefix:指定最终安装到的目录:默认值 /usr/local/nginx
	--sbin-path:用来指定可执行文件目录:默认的是sbin/nginx
	--conf-path:用来指定配置文件目录:默认的是conf/nginx.conf 
# 执行make命令
make
# 执行make install命令
make install

5.查看nginx是否安装成功

#启动nginx
cd /usr/local/nginx/sbin
./nginx

在这里插入图片描述
如果默认端口80已被占用,可修改配置文件更改:

vim /usr/local/nginx/conf/nginx.conf
#将listen 80 修改为listen 8000

四:nginx简介
nginx运行起来后查看进程,发现有两个进程master进程和worker进程;
worker进程是被master进程通过fork()创建出来的,worker进程是master进程的子进程,master是父进程;

root@epc:/usr/local/nginx/sbin# ps -ef|grep ./nginx
root       3437      1  0 06:25 ?        00:00:00 nginx: master process ./nginx
root       3458   1831  0 06:33 pts/0    00:00:00 grep --color=auto ./nginx
root@epc:/usr/local/nginx/sbin# 

4.1nginx进程模型简介
nginx进程是由1个master进程和1到多个worker进程 组成;worker进程数量是由CPU的内核数决定,他们的分工主要如下:
a)master负责监控进程,不处理具体业务,专门用来管理和监控worker进程;
b)worker进程:处理具体业务;
c)master进程和worker进程之间要通讯,可以用 信号 ,也可以用 共享内存 ;
d)master和worker的关联:worker进程发生异常,master进程会立即通过fork()产生新的worker进程;worker由于它的角色定位,决定了它是非常稳定的,这种工作机制保证了 nginx能够非常稳定、灵活的运行。

4.2nginx的灵活特性
a)nginx支持重载配置文件
b)nginx热升级,热回滚

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值