您现在的位置是:首页 >  编程分享 > LINUX丨SYSTEMLINUX丨SYSTEM

升级nginx至最新版本1.15.5

袅袅牧童 推荐 原创 编程分享 2018-02-20

简介 今天百度云定期检测发现系统威胁,吓我一跳原来是nginx版本较低,干脆升级下,遇到了一些小问题记录下


本来以为yum升级一下就行了了,结果发现yum一直没有更新,最新版本就是1.12的,上官网看了下最新已更新到1.15.5,干脆下载安装包更新下吧。

准备

备份vhost,cert证书目录

卸载旧版 

yum remvoe nginx

http://nginx.org/en/download.html 官网下载最新版本安装包


上传至服务器文件夹,这里上传到 media 文件夹举例。

解压文件

$  cd /media
$  tar -zxvf nginx-1.15.5.tar.gz  

这时候会产生一个新的文件夹 nginx-1.15.5

安装

cd nginx-1.15.5
//检测

./configure --prefix=/etc/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_stub_status_module --with-http_sub_module --with-stream --with-stream=dynamic

//等待结果,如果提示报错;根据提示安装一下依赖包:

$   yum install gcc-c++    $   yum install pcre pcre-devel    $   yum install zlib zlib-devel    $   yum install openssl openssl--devel 

(吐槽:为什么不提前安装好依赖包?好问题,我也是提前装好了所有包,鬼知道一直提示需要安装openssl,弄了几次路径链接都不行,干脆重装搞定了。。。)

ok!继续,没有出错,安装

$ make && make install

如果没有出错,good,测试启动

cd /etc/nginx  //指定安装的目录
./sbin/nginx //启动
./sbin/nginx -s stop //停止
pkill nginx //停止

1.15目录变更,如图


配置文件不再放在根目录,统一在 conf 文件夹里

上传备份的cert (ssl 证书文件夹)文件

cd conf
vi  nginx.conf //配置个人vhost,不推荐直接替换文件,鬼知道会出现什么问题。。。

重配置systemctl命令

个人比较习惯这样操控,之前yum安装的比较简单,开机启动

yum enable nginx.service

现在是源码安装的,需要手动配置,这里也记录下

开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

/lib/systemd/system/

在系统服务目录里创建nginx.service文件

vi /lib/systemd/system/nginx.service

内容如下

[Unit]
Description=nginx
After=network.target

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

[Install]
WantedBy=multi-user.target

[Unit]:服务的说明

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

保存退出。

其他命令

启动nginx服务
systemctl start nginx.service 


设置开机自启动

systemctl enable nginx.service


停止开机自启动
systemctl disable nginx.service


查看服务当前状态

systemctl status nginx.service


重新启动服务

systemctl restart nginx.service 


查看所有已启动的服务

systemctl list-units --type=service


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论



ABOUT ME

Name:袅袅牧童 | Arkin

Job:Web全栈技术工程师

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云