目录
前面我们简单分享了手工编译安装的流程和必要的编译环境,详见:Linux手动编译安装
我们来试试使用手工编译安装的方式来安装Nginx。
一、准备工作
1、安装环境
准备好linux虚拟机系统,进行编译安装环境的搭建,这里把代码直接放过来:
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel expat-devel
2、软件包
下载或者从其他设备上传输nginx的压缩包到我们的linux系统上:
wget http://nginx.org/download/nginx-1.22.0.tar.gz
二、进行编译安装
1、解压缩包
对压缩包进行解压:
tar zxvf nginx-1.22.0.tar.gz -C /opt
2、创建用户nginx
安装前我们创建一个程序用户nginx
useradd -M -s /sbin/nologin nginx
3、进行安装
进入解压后的目录,执行./configure
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
make && make install
4、报错情况
在进行安装过程中,可能会出现的报错情况和解决方法如下
在执行--with-http_stub_status_module(状态应用控制模块)时,会报错:
error: the HTTP gzip module requires the zlib library
意思是告诉我们没有
zlib library
的支持
这时安装zlib-devel
即可:
yum install -y zlib-devel
还有可能会出现以下报错信息:缺少rewrite的插件
the HTTP rewrite module requires the PCRE library.
安装openssl-devel即可:
yum -y install openssl openssl-devel
如果没有进行上面的编译环境部署,会报错:
You need a C++ compiler for C++ support
随后再进行./configure就没有问题了
三、对nginx进行相关测试
进入nginx目录
[root@ljp /]# cd /usr/local/nginx && ls
conf html logs sbin
[root@ljp nginx]# cd html && ls
50x.html index.html
index.html 是默认的网页
50x.html 是服务器的错误网页
1、配置文件
nginx的配置文件nginx.conf位置在/usr/local/nginx/(安装目录下)conf/nginx.conf
端口80我给Apache使用了,所以这里我把nginx的端口号改为82
2、启动,查看,关闭nginx
(1)开启nginx
开启nginx
/usr/local/nginx/sbin/nginx
(2)查看nginx
netstat -natp | grep nginx
查看nginx端口情况
查看nginx运行情况
主进程master和子进程worker
(3)退出nginx
如果要退出
/usr/local/nginx/sbin/nginx -s quit
(4)重启nginx
(每一次修改配置文件后都要重新启动)
/usr/local/nginx/sbin/nginx -s reload
(5)设置nginx为系统服务
首先,发送信号关闭nginx
killall -s QUIT nginx
进入/lib/systemd/system
vim /lib/systemd/system/nginx.service
[Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/bin/kill -s HUP $MAINPID ExecStop=/usr/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
chmod 754 nginx.service
确保nginx已被“杀死”,如何就可以使用systemctl来管理nginx.service了
3、 nginx的web页面测试
下载一个测试软件,进行测试
yum install -y elinks
elinks http://ljp (hostname)
页面如下,注意这里的测试使用的还是80端口,因为80端口是默认的
使用windows网页进行访问 ,如果更改了端口号,这里要访问的是192.168.116.22:82