准备工作
- 确保虚拟机可以联网,
- 关闭防火墙并禁止其开机启动。
- 如果需要外网访问可以放开外网端口
虚拟机关闭防火墙命令:
systemctl stop firewalld.service
禁止防火墙开机启动:
systemctl disable firewalld.service
放行外网端口:
firewall -cmd --zone=public --add-port=80/tcp --permanent
安装nginx
-
上传压缩包到服务器(虚拟机),
-
解压缩例如:tar -zxvf xxxx.tar.gz
-
进入解压后的目录:cd nginx-1.21.6
-
进入我们可以看到configure文件,执行:
./configure --prefix=/usr/local/nginx
–prefile=… :意思是指定安装位置
此处可能会说缺少依赖,例如:
此时我们使用yum安装对应缺少的依赖就可以了。要确保可以联网。
安装gcc:yum install -y gcc
安装perl库:
yum install -y pcre pcre-devel
安装zlib库:
yum install -y zlib zlib-devel
安装完库之后,再执行开始的命令:
这是执行完成之后。
再执行“make”
make
再执行“make install”
make install
- 进入安装目录:
cd /usr/local/nginx
可以看到里面有一个sbin目录进入:cd /sbin - 可以看到里面有一个nginx,执行:./nginx
此时我们就启动成功了 - 访问nginx,查看虚拟机ip然后去浏览器访问、
nginx的几个命令:
1:进入安装目录:/usr/local/nginx/sbin
./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置
创建服务脚本
我们每次启动都需要进入到nginx的工作目录通过它的脚本运行,这个过程比较费劲,所以我们创建一个服务脚本
vi /usr/lib/systemd/system/nginx.service
内容:
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载系统服务
systemctl daemon-reload
启动服务
systemctl start nginx.service