阅读本文需要一定的Linux基础
一 Nginx简介
nginx是用c语言编写的一款高性能的http服务器|反向代理服务器|电子邮件(IMAP/POP3)代理服务器 由俄罗斯的程序设计师Igor Sysoev所开发 官方测试nginx能够支撑5万并发链接 并且cpu 内存等资源消耗却非常低 运行非常稳定
二 Nginx应用场景
1. http服务器
nginx是一个http服务器 可以独立提供http服务 可以做网页静态服务器
2. 虚拟主机
可以实现在一台服务器虚拟出多个网站
3. 反向代理|负载均衡
当网站的访问量达到一定程度后 单台服务器不能满足用户的请求时 需要用多台服务器集群 可以使用nginx做反向代理 并且多台服务器可以合理分担负载 不会出现因为某台服务器负载高宕机而某台服务器闲置的情况
三 环境
阿里云服务器: CentOS 7.4 64位(基于RedHat)
本机: macOS High Sierra
四 压缩包
https://nginx.org/en/download.html
五 文件传输
输入SFTP命令连接 -> 输入实例登录密码
sftp root@公网IP
上传
put 本地文件 服务器路径
下载
get 服务器文件 本地路径
六 远程访问
输入SSH命令连接 -> 输入实例登录密码
ssh root@公网IP
七 关闭防火墙
关闭防火墙
systemctl stop firewalld.service
关闭防火墙开机自启动功能
systemctl disable firewalld.service
查看防火墙状态
firewall-cmd --state
八 安装Nginx
nginx依赖
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
新建目录
mkdir /usr/local/nginx
mkdir -p /var/temp/nginx
解压
cd nginx压缩包所在目录
tar -xvf nginx-1.14.0.tar.gz
使用configure命令创建Makefile文件 将下面命令拷贝进去
cd nginx解压包内部 -> cd /hy/nginx-1.14.0
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
编译
make
make install
进入sbin目录
cd /usr/local/nginx/sbin
启动
./nginx
关闭
./nginx -s stop
开机状态刷新配置文件
./nginx -s reload
默认是80端口
解决问题
nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)
场景: 服务器正常运行nginx -> 服务器重启(重启前未关闭nginx) -> 再次启动nginx
原因: /var/run/nginx这个目录不存在
解决办法 -> 服务器输入:
mkdir -p /var/run/nginx