Nginx业务场景📌
此次使用的业务场景:
有一台服务器B,该服务器性能好,但是无法进行解析域名。还有一台服务器A,可以解析域名,但是配置低无法进行部署服务。于是就在A服务器上面安装了一个nginx,负载80端口,后端转发到B服务器上面。这样就能实现使用域名访问服务了。
Nginx快速安装流程📌
1.安装gcc gcc是用来编译下载下来的nginx源码
yum install gcc-c++
2、安装pcre和pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。
nginx 的 http 模块使用 pcre 来解析正则表达式,pcre-devel 是使用 pcre 开发的一个二次开发库。
yum install -y pcre pcre-devel
3、安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip
yum install -y zlib zlib-devel
4、安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl
yum install -y openssl openssl-devel
5. 下载nginx (下方链接手动下载最新版本,然后上传到服务器,跳过这一步,直接开始解压编译即可)
wget http://nginx.org/download/nginx-1.14.0.tar.gz
6.解压
tar -zxvf nginx-1.14.0.tar.gz -C /usr/local
7. cd到文件路劲
cd /usr/local/nginx-1.14.0
8.编译
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tem/nginx/client --http-proxy-temp-path=/var/tem/nginx/proxy --http-fastcgi-temp-path=/var/tem/nginx/fcgi --with-http_stub_status_module
9.安装
make && make install
10.启动
nginx -c /etc/nginx/nginx.conf
11. 如果出现[emerg] getpwnam("nginx") failed 错误 执行
useradd -s /sbin/nologin -M nginx
id nginx
12.如果出现 [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory) 错误 执行
sudo mkdir -p /var/tem/nginx/client
13.如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
⛏Nginx新版本,可以使用该版本进行编译安装,将上面的nginx更新成对应的名字即可,点击下载--》密码:7qjs⛏
Nginx快速配置流程📌
1、在配置文件中,创建一个文件夹,存放自己的配置文件
2、将默认配置文件中,默认的server项给注释掉
3、在http下一级中,加入配置 include {自己创建配置文件夹路径}/*.conf;
4、在自己创建的配置文件夹下面创建配置
5、配置好之后,使用nginx -t 测试配置是否正常
6、nginx -s reload重新加载配置 或者 重启nginx
Nginx配置文件Demo📌
主配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/test/*.conf;
}
自定义配置
upstream test {
server *.*.*.*:*;
}
server {
listen 8080;
server_name *.*.*.*;
location / {
proxy_pass http://test;
}
}