VMware和CentOS7
安装VMware虚拟机,在VMware中安装CentOS7操作系统,我这边只提供Vmware和CentOS7的下载地址,网上有很多教程,一步一步跟着安装就行。
VMware下载地址(下载Windows版本的就行):https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
CentOS7镜像下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
下载这个
两者都下载完后,搜索VMware安装CentOS7安装教程跟着安装就行。
Xshell和Xftp
还需要安装Xshell和Xftp两个软件,Xshell是为了更加方便地操作我们的虚拟机,Xftp是为了更加方便地操作虚拟机中的文件。
下载地址:https://www.xshell.com/zh/free-for-home-school/
填入姓名和邮箱就可以免费获取了
Nginx下载地址:http://nginx.org/en/download.html
下载后是tar.gz类型的压缩包,需要在虚拟机中来解压
使用Xshell连接我们的虚拟机
使用Xftp将下载好的压缩包移动到根目录
ls
查看一下
解压压缩包
tar zxvf nginx-1.21.6.tar.gz
进入nginx目录
cd nginx-1.21.6/
在/usr/local/nginx
目录下安装Nginx
./configure --prefix=/usr/local/nginx
发现报错,是缺少C编译器依赖导致的
安装gcc
yum install -y gcc
再次安装Nginx
./configure --prefix=/usr/local/nginx
发现还是缺少两个依赖,安装这两个依赖
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
安装好后再次安装Nginx,如下图
./configure --prefix=/usr/local/nginx
使用make
命令来编译源程序
最后运行make install
,成功安装
此时就安装好Nginx了,它所在的目录是/usr/local/nginx
进入/usr/local/nginx/sbin
目录
启动nginx./nginx
浏览器中输入当前虚拟机的ip地址,发现无法访问,这是防火墙的问题
关闭防火墙systemctl stop firewalld.service
,再次访问,发现可以正常访问nginx了
一些其他的nginx和防火墙命令:
启动:./nginx
快速停止:./nginx -s stop
优雅关闭:./nginx -s quit(关闭前完成已经接受的连接请求)
重新加载配置:./nginx -s reload
禁止防火墙开机启动:systemctl disable firewalld.service
创建脚本文件vim /usr/lib/systemd/nginx.service
将以下内容复制进去(记着先按一下i键来开启编辑模式)
[Unit]
Description=nginx
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 # 多用户
:wq
保存退出
重新加载一下系统服务systemctl daemon-reload
因为之前我们已经启动了nginx了,查询一下之前启动的nginx服务ps -ef | grep nginx
停止nginx服务./nginx -s stop
重新查询之前启动的nginx服务ps -ef | grep nginx
,发现已经没有了,这时我们就可以使用系统脚本来启动nginx了
使用系统脚本来启动nginx
systemctl start nginx.service
使用系统脚本查询nginx状态
systemctl status nginx.service
可以看到状态为active(running),说明已经正常启动
设置nginx服务为开机启动
systemctl enable nginx.service
重新在浏览器中访问nginx服务器,可以正常访问
其他系统脚本命令
启动nginx:systemctl start nginx.service
查询nginx状态:systemctl status nginx.service
重新加载nginx:systemctl reload nginx.service
停止nginx:systemctl stop nginx.service
设置nginx服务为开机启动:systemctl enable nginx.service