1. 引言
写了个jar包,其他人调用的时候发现效率很慢,于是同事说,用Nginx做个
负载均衡吧。这不就记录一下。
2. 下载
官网下载稳定版:http://nginx.org/en/download.html
3. 上传
这里使用xftp或者WinScp等工具直接拖拽上传到某个目录。
常用工具如下:
- Xshell6_Plus下载(不要钱):https://pan.quark.cn/s/6da216edc547
- WinScp下载(不要钱):https://pan.quark.cn/s/c6cef04e9b4d
4. 解压
切换到压缩包所在位置进行解压
cd /usr/local/ tar -zxvf nginx-1.22.0.tar.gz
5. 安装所需环境
# 安装gcc yum install gcc-c++
# 安装PCRE pcre-devel 用于解析正则表达式 yum install -y pcre pcre-devel
# 安装zlib 压缩和解压缩依赖 yum install -y zlib zlib-devel
# 安装Open SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https yum install -y openssl openssl-devel
6. 安装nginx
6.1 创建nginx临时目录
mkdir /var/temp/nginx -p
6.2 创建makefile文件
切换到Nginx解压的目录 cd /usr/local/nginx-1.22.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
配置命令说明:
-prefix 指定Nginx安装目录 -pid-path 指向Nginx的pid -lock-path 锁定安装文件,防止被恶意褚篡改或误操作 -error-log 错误日志 –http-log-path http日志 –with-http_gzip_static_module 启用gzip模块,在线实时压缩输出数据流 –http-client-body-temp-path 设定客户端请求的临时目录 –http-proxy-temp-path 设定http代理临时目录 –http-fastcgi-temp-path 设定fastcgi临时目录 –http-uwsgi-temp-path 设定uwsgi临时目录 –http-scgi-temp-path 设定scgi临时目录
6.3 make编译
make
6.4 执行make install命令 安装
make install
6.5 启动Nginx
进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx
6.6 测试是否成功
直接访问你的虚拟机或者服务器的ip,提示如下图所示即安装成功。
如果安装正常,但是访问不了,如果是虚拟机或者本地可以直接尝试关闭防火墙。云服务器尝试开启80端口。
7. 开机自启
7.0 关闭Nginx
# 切换目录 cd /usr/local/nginx/sbin/ # 停止服务 ./nginx -s quit 或者 ./nginx -s stop
7.1 编写脚本
vim /etc/systemd/system/nginx.service
复制粘贴以下内容,注意看下路径是否有差异。
[Unit] Description=nginx service 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 quit PrivateTmp=true [Install] WantedBy=multi-user.target
7.2 设置权限
chmod +x /etc/systemd/system/nginx.service
7.3 修改nginx.pid默认目录
vim /usr/local/nginx/conf/nginx.conf
- 取消注释,并修改为/usr/local/nginx/logs/nginx.pid;
- 在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
7.4 设置开机自启
systemctl enable nginx
7.4.1 其他命令
# 启动nginx服务 systemctl start nginx.service # 重新启动服务 systemctl restart nginx.service # 查看服务当前状态 systemctl status nginx.service # 停止开机自启动 systemctl disable nginx.service
8. nginx常用命令
如按第七步添加了开机自启服务,可参照 7.4 的命令。
# 启动nginx ./nginx # 关闭nginx ./nginx -s quit 或者 ./nginx -s stop # 重新加载 ./nginx -s reload # 查看nginx进程 ps -ef|grep nginx #检查配置文件语法是否正确 ./nginx -t