常见报错解决:
1、报13权限问题,open日志文件失败 注意一下selinux有没有关闭
setenforce 0 ------------临时修改
vi /etc/selinux/config 修改为disable -----------永久修改
1、先安装依赖环境
yum install gcc-c++
yum install -y openssl openssl-devel
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2、创建安装路径:/usr/local/nginx
mkdir /usr/local/nginx
cd /usr/local
3、下载nginx源码包:https://nginx.org/download/
wget https://nginx.org/download/nginx-1.20.1.tar.gz
4、解压并放到
tar -zxvf nginx-1.20.1.tar.gz
mv nginx-1.20.1 nginx
5.进入nginx目录配置下
使用nginx默认配置
cd /usr/local/nginx
./configure
6.编译安装
make
make install
7.进入sbin目录,可以看到有一个可执行文件nginx
启动一下
./nginx
8、关闭防火墙systemctl stop firewalld
打开网址:127.0.0.1测试一下
添加echo模块
一、通过git命令下载源码.
1、安装git命令
yum install git -y
cd /usr/local
2、通过clone 将github上的站点抓取下来
git clone git://github.com/openresty/echo-nginx-module.git
然后
./configure --add-module=/usr/local/echo-nginx-module
make
make upgrade
查看下
/usr/local/nginx/sbin/nginx -V
配置文件:/usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
keepalive_timeout 65;
#http监听80端口
server {
listen 80;
server_name localhost;
#负载均衡
#upstream group1{
# server 192.168.100.100:80 weight=1;
# server 192.168.100.95:80 weight=1;
#}
#location / {
# proxy_pass http://group1/;
#}
#反向代理,转发服务器
location / {
proxy_pass http://192.168.100.117:3000;
}
location /a/ {
#此处/是很精髓的地方
proxy_pass http://192.168.100.101:8080/;
}
location /b {
#这个地方它访问的地方就是http://192.168.100.101:80/b所以很可能会报错
proxy_pass http://192.168.100.101:80;
}
实际生产中的配置
location /api/ {
#过滤的写法rewrit
rewrite ^/api/(.*)$ /$1 break;
#转到后端服务端口
proxy_pass http://192.168.96.28:80/;
}
#静态文件代理,一定要加上^~,下面是转到其他地址上的
location ^~/uploads/ {
rewrite ^/(.*)$ /$1 break;
#转到后端服务端口
proxy_pass http://192.168.96.28:80/;
}
}
nginx开机启动脚本:nginx.service
[Unit]
Description=nginx - high performance web server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target