首页 > 系统相关 >openEler离线安装nginx

openEler离线安装nginx

时间:2023-02-18 21:13:20浏览次数:33  
标签:Mar 14 08 离线 nginx rw openEler root

1.场景描述
项目要部署到新的服务器上,需要安装nginx,刚好安全部门通知了nginx存在安全漏洞(Nginx整数溢出漏洞,nginx1.13.2之后的版本无问题),就下载最新的nginx进行了安装,介绍下在线与离线安装nginx吧,其他关于nginx两篇博客:nginx实战操作(常用命令及配置)与一台服务器通过nginx配置多个域名(80端口)

2. 问题解决
其实所谓的在线安装与离线安装,主要是安装nginx的依赖包,因为nginx是c语言编写的,需要安装些特殊的依赖,常用的cenos中一般都没带。

2.1 在线安装,使用yum安装
yum install gcc-c++ (选择y回车)
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2.2 离线安装,下载对应包
2.2.1 下载
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz
wget http://zlib.net/zlib-1.2.11.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz  或者https://search.grilime.com/?14&n=101&q=pcre-8.40.tar.gz

2.2.2 解压及安装
tar zxvf openssl-fips-2.0.10.tar.gz
cd openssl-fips-2.0.10
./config && make && make install

tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure && make && make install
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure && make && make install

2.3 安装nginx
2.3.1 下载最新nginx
http://nginx.org/en/download.html, 目前最新版本是:1.17.2

2.3.2 安装nginx
(1)上传tar包到:/usr/local

(2)安装命令:

cd /usr/local
tar zxvf nginx-1.17.2.tar.gz
cd nginx-1.17.2/
./configure && make && make install


(3)验证安装是否成功

whereis nginx
1
2.3.3 启动nginx
(1)启动命令

/usr/local/nginx/sbin
./nginx

(2)验证是否启动成功

ps -ef|grep nginx

说明: 会有两个进程,一个master进程,一个worker进程。

 

启动服务,检查运行情况:

[root@openEulerOS nginx-1.21.6] cd /usr/local/nginx/sbin/
[root@openEulerOS sbin] ll
total 4.5M
-rwx------ 1 root root 4.5M Mar 2 14:08 nginx
[root@openEulerOS sbin] ./nginx
[root@openEulerOS sbin]
[root@openEulerOS sbin] ps -ef | grep nginx
root 5729 1 0 14:12 ? 00:00:00 nginx: master process ./nginx
nobody 5730 5729 0 14:12 ? 00:00:00 nginx: worker process
root 5746 2938 0 14:13 pts/0 00:00:00 grep --color=auto nginx

. 修改运行用户nobody:

[root@openEulerOS sbin] cd /usr/local/nginx/conf/
[root@openEulerOS conf] ll
total 68K
-rw------- 1 root root 1.1K Mar 2 14:08 fastcgi.conf
-rw------- 1 root root 1.1K Mar 2 14:08 fastcgi.conf.default
-rw------- 1 root root 1007 Mar 2 14:08 fastcgi_params
-rw------- 1 root root 1007 Mar 2 14:08 fastcgi_params.default
-rw------- 1 root root 2.8K Mar 2 14:08 koi-utf
-rw------- 1 root root 2.2K Mar 2 14:08 koi-win
-rw------- 1 root root 5.3K Mar 2 14:08 mime.types
-rw------- 1 root root 5.3K Mar 2 14:08 mime.types.default
-rw------- 1 root root 2.6K Mar 2 14:08 nginx.conf
-rw------- 1 root root 2.6K Mar 2 14:08 nginx.conf.default
-rw------- 1 root root 636 Mar 2 14:08 scgi_params
-rw------- 1 root root 636 Mar 2 14:08 scgi_params.default
-rw------- 1 root root 664 Mar 2 14:08 uwsgi_params
-rw------- 1 root root 664 Mar 2 14:08 uwsgi_params.default
-rw------- 1 root root 3.6K Mar 2 14:08 win-utf
[root@openEularOS conf] vi nginx.conf

按【i】键进入输入模式,将nobody改为root,之后按Esc进入底栏模式,输入 :wq 保存修改并退出vi编辑器,配置修改完成。此时可以通过重新启动nginx服务达到对外访问的效果

 

、启动Nginx(直接用默认配置启动测试即可)

cd /usr/local/nginx/sbin
./nginx

3.2、开放端口

开放nginx默认使用的80端口,并重启防火墙

# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 立即生效
firewall-cmd --reload

设置nginx开机自启

/etc/systemd/system目录创建一个启动脚本

vi /etc/systemd/system/nginx.service

输入以下内容:

[Unit]
Description=nginx service
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  

然后执行

# 查找nginx端口
ps -ef|grep nginx
# 先停止nginx
kill -9 xxx
# 必须先执行这个
systemctl daemon-reload
# 开机自启
systemctl enable nginx
# 启动nginx
systemctl start nginx
 
#设置开机自启动
systemctl enable nginx 
 
#停止开机自启动
systemctl disable nginx
 
#查看服务当前状态 
systemctl status nginx
 
#重新启动服务
systemctl restart nginx   
 
#查看所有已启动的服务 
systemctl list-units --type=service 

标签:Mar,14,08,离线,nginx,rw,openEler,root
From: https://www.cnblogs.com/Amos-Turing/p/17133605.html

相关文章

  • nginx启用http2不生效
    Nginx启用http2不生效,可以检查openssl版本是不是过低查看当前openssl版本opensslversionOpenSSL1.0.1e-fips11Feb2013查看完版本可知,当前版本是1.0.1的,版本过老,需......
  • 【转】nginx配置404页面拦截
    原文:https://www.jianshu.com/p/f4fc1e1b91d2友好提示,统一处理    在项目中,当不存在的路径访问时,会提示404,这个错误提示不友好,如下:image.png这个时候,我们就......
  • nginx 原理学习--4
    core模块Nginx的模块除了HTTP模块,还有一些核心模块和mail系列模块。核心模块主要是做一些基础功能,比如Nginx的启动初始化,event处理机制,错误日志的初始化,ssl的初始化,正则处......
  • nginx 原理学习--3
    负载均衡模块负载均衡模块用于从”upstream”指令定义的后端主机列表中选取一台主机。nginx先使用负载均衡模块找到一台主机,再使用upstream模块实现与这台主机的交互。为......
  • nginx 原理学习-1
    以下为网络资源摘抄,只为记录nginx的配置系统nginx的配置系统由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,全部位于nginx安装目录下的conf......
  • nginx(二) の 配置静态资源网站
    首先在开始配置前,要想明白,nginx配置静态资源服务时基本逻辑,其实就是要将路由地址与服务器中文件真实的存储地址进行映射。配置静态资源样例配置前,首先要将当前配置......
  • docker 安装 nginx
    docker安装nginx参考:https://blog.csdn.net/weixin_43872830/article/details/128972671docker公共仓库地址参考:https://hub.docker.com/......
  • 【宝塔部署PHP项目】含域名访问部署、IP访问部署、数据库、端口号、Nginx等知识
    一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级......
  • helm 之 离线安装Release
    前面的文档中,我们都是通过在线的helm仓库进行安装的。实际工作中我们的服务器常常无法连接到chart仓库,一种方式是我们创建私有仓库,另一种方式使用离线方式安装。方法一:......
  • nginx + Linux 安装
    Linux下安装命令:1、下载2、解压压缩包tar -zxvfxxx.tar.gz3.  开始操作sudo ./configuresudo  makesudo  makeinstall准备......