nginx编译安装
准备工作
1.下载源码包(http//www.nginx.org/)
wget http://nginx.org/download/nginx-1.19.1.tar.gz
2.安装gcc编译器
yum install gcc -y
3.解压安装包
tar vzxf nginx-1.19.1.tar.gz
正式安装(步骤)
1.编译前的配置=》配置什么?
那些功能开启,安装到哪里,等
configure 的目的是生成一个Makefile文件
configure这个脚本帮我们检查我们系统里那些依赖的软件是否安装
–prefix=PATH 指定安装路径
-
with-http_ssl_module 开启ssl功能支持https
Makefile可以理解成一个配置文件,里面定义那些功能开启,安装的路径等
development 开发库:里面有很多的函数和接口,给其他开发工具使用
–with 表示默认情况下没有带 --》启用某个功能
–WITHOUT 表示默认情况下有带 --》禁用某个功能,默认开启nginx将很多的功能都进行了模块化的划分,开启某个功能其实就是加载某个模块到nginx主程序里
–with-stream 对4层负载均衡的支持 --》根据端口号进行转发数据
解决依赖关系:
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel gcc gcc-c++ autoconf automake make
执行配置文件:./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --user=wgh
2.编译
make
3.安装
make install
4.启动
由于此前配置的–user=wgh不存在,所以在执行之前必须先创立wgh用户
查看端口检查nginx是否启动,nginx的默认端口是80,所以检查的端口是80
master 进程是主进程,是一个管理进程,是worker进程的父进程
worker 是工作进程,提供web服务的进程
nginx是一个多线程提供web服务的软件–》高效的web服务器软件
PATH=$PATH:/usr/local/nginx/sbin/
将nginx加入PATH变量中,以便在linux中使用
编译安装的不能使用systemctrl enable nginx去设置开机启动,因为没有相关的脚本和配置
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true
[Install]
WantedBy=multi-user.target
如果service nginx restart 后出现以下情况
则需要利用(kill -9 进程号)杀死之前的nginx进程,然后重新使用service nginx restart即可。
至此,nginx基本配置完毕,将此前设置的临时PATH变量改为永久
echo 'PATH=$PATH:/usr/local/nginx2/sbin/' >>/etc/bashrc
号)杀死之前的nginx进程,然后重新使用service nginx restart即可。
至此,nginx基本配置完毕,将此前设置的临时PATH变量改为永久
echo 'PATH=$PATH:/usr/local/nginx2/sbin/' >>/etc/bashrc