当前位置: 首页 > 科技观察

教你如何在CentOS7上搭建Nginx

时间:2023-03-16 15:24:38 科技观察

Nginx(enginex)是一个轻量级的web服务器、反向代理服务器和邮件(IMAP/POP3)代理服务器。这里可以进一步展开,比如什么是反向代理,有没有反向代理,有没有正向代理?阿粉这里就不解释了,相信好奇的读者肯定会自己去百度/谷歌的~接下来阿粉会重点介绍如何搭建Nginx安装前所需的环境。yum-yinstallwget2、gcc:GCC(GNUCompilerCollection,GNUCompilerSuite),是由GNU开发的编程语言编译器。GCC最初是作为GNU操作系统的官方编译器,被大多数类Unix操作系统(如Linux、BSD、MacOSX等)采用为标准编译器yuminstallgcc-c++3,pcre:PCRE(PerlCompatibleRegularExpressions),一个Perl库,包含一个perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库yuminstall-ypcrepcre-devel4,openssl:是一个强大的安全套接字层密码库,包括主要密码算法,常用密码Key和证书包管理功能和SSL协议,并提供丰富的测试或其他用途的应用;nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linuxinstall-yopensslopenssl-devel5中yum安装openssl库,zlib:提供多种压缩和解压methods,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库yuminstall-yopensslopenssl-devel,经过上面的步骤,我们终于安装好了需要的环境,然后开始Nginx的安装1、和进入了一个目录(随便一个目录都行,用来存放下载的Nginx安装包,这里进入/root目录比如你用root账号登录,登录时默认是/root,这就是为什么阿粉用的就是这个目录,比较懒。。。)进入目录命令:cd/root下载nginx安装包,本文用例nginx1.10.3(最新版本可通过官网http查看://nginx。org/download)下载命令:wgethttp://nginx.org/download/nginx-1.10.3.tar.gz2,解压Nginx的tar包命令:tar-zxvfnginx-1.10.3.tar.gz3,查看是否解压成功命令:ls如图,可以看到解压成功4、进入刚才解压的目录命令:cdnginx-1.10.3进行配置(这里Nginx安装指向/usr/local/src/nginx/目录)命令:./configure--prefix=/usr/local/src/nginx/会出来很多行信息,不用怕,都是正常信息5、编译安装命令:make&&makeinstall6,验证编译安装全过程应该是不会报错。如果在前面的过程中使用prefix设置了安装目标目录,还需要在/etc/profile文件中设置环境变量(注:环境变量一般是指操作系统,用来指定操作系统运行的一些参数环境相当于设置一个快速路径比如启动软件(如mysql/jdk),使用起来非常方便)命令:vi/etc/profile在配置文件中添加:exportNGINX_HOME=/usr/local/src/nginxexportPATH=$NGINX_HOME/sbin:$PATH因为阿粉比较乱,所以这里的配置文件不一定要和阿粉的7一样,才能让环境变量生效命令:source/etc/profile8,检查是否安装成功:进入etc目录(cd/etc),执行命令:nginx–t,如果不正确,会给出相应的错误提示。我这里给出的提示是正确提示,说明我们安装正确9、配置Nginx配置文件,Nginx配置文件位置:/usr/local/src/nginx/conf/nginx.conf(具体位置看自己):vi/usr/local/src/nginx/conf/nginx.conf10,修改Nginx安装目录下conf中的配置文件为nginx.conf,命令:/usr/local/src/nginx/sbin/nginx-c/usr/local/src/nginx/conf/nginx.conf11,启动nginx,命令:nginx12,测试,在启动Nginx的情况下,使用浏览器访问刚才配置文件中配置的地址现在如图,成功可能出现的问题:外部使用浏览器访问设备时,访问地址可能无法访问问题原因:80端口没有打开,或者防火墙没有关闭。基于安全考虑,建议开放801端口和80端口(注意此时防火墙是开放的,否则执行这一步没有意义):开放端口命令:firewall-cmd--zone=public--add-port=80/tcp--permanent重启防火墙:systemctlrestartfirewalld.service命令含义:--zone#Scope--add-port=80/tcp#添加端口,格式为:端口/通信协议--permanent#永久有效,如果没有这个参数,重启后会失效或者直接关闭防火墙:servicefirewalldstop这两个操作,二选一。至此,Nginx安装教程就结束了。设置Nginx开机自动启动在实践中,我发现如果机器关机再开机,需要手动再次开机才能访问Nginx。对于追求高效率的我们来说,这肯定是无法忍受的,所以下面说说如何设置Nginx自动启动:1、进入/lib/systemd/system/目录,命令:cd/lib/systemd/system/2,创建一个文件,命令:vinginx.service将以下内容复制到这个文件中:[Unit]Description=nginxAfter=network.target[Service]Type=forkingExecStart=/usr/local/src/nginx/sbin/nginxExecReload=/usr/local/src/nginx/sbin/nginxreloadExecStop=/usr/local/src/nginx/sbin/nginxquitPrivateTmp=true[Install]WantedBy=multi-user.targetDescription:描述服务After:描述服务类别[Service]的服务运行参数设置Type=forking为后台运行形式ExecStart为服务具体运行命令ExecReload为重启命令ExecStop为停止命令PrivateTmp=True表示为服务分配独立的临时空间注意:[服务]启动、重启、停止命令都需要使用of绝对路径[Install]运行级别下安装的服务相关设置可以设置为多用户,即系统运行级别为33,保存退出文件后,执行该文件,使Nginx开机自动启动.执行命令:systemctlenablenginx.service4,重启虚拟机,看看有没有设置Success~阿粉这里是为了说明上面设置可以开机启动成功。虚拟机刚启动后,查看了nginx的状态。你可以看到它正在运行。看这里。不再难在Nginx上建那些坑我受不了你了