信创之-麒麟v10服务器安装tengine(已完成)

之前的文章太长了,所以单独写

背景:java8+springboot+nginx+redis+sqlserver+windows server2000

目前java8已经更换,windows也已经更换,sqlserver也已经更换成dm8

其实java的静态文件目录,可以很好处理前端网站了,但是秉承着前后端完全分离,还是弄了个nginx,同时nginx也使用了反向代理,保护服务端

好了话不多说

原本的目标:完全离线状态安装tengine,但是研究了很久,还是放弃了,很简单,依赖的包太难找了,百度了很久很久,最后有个人介绍了个方法,直接从麒麟的iso解压找到了,但还是太多了。

最后用了在线安装,那是真简单,我放弃了离线方式,后面如果有项目硬逼着要离线,到时候再研究吧。

回想下之前windows

1.直接下载nginx的编译包,不是exe,直接是源码编译包

2.修改nginx的conf文件,修改监听端口,修改网站地址,如果有反向代理,那也一样修改配置

3.双击nginx.exe,查看任务管理器有两个进程,就算结束了

现在到麒麟下,其实还是很困惑的

1.麒麟安装和linux安装有啥区别

2.windows下直接放编译包,那麒麟的怎么办

3.网上都是nginx的,那和tengine有什么关系,教程是否一致

带着上面的疑问,开始了,长久的百度之旅,说下结果

1.麒麟和linux一样的

2.麒麟下也是直接放编译包

3.tengine是腾讯基于nginx的提升,所以教程一致

好了,放心了,那不就变成linux下如何安装nginx了么!!!!!!

但是实际并没那么简单,尤其是对于一个从windows下转过来的,思想转变不过来。

我先说下在线安装,然后我再说下离线安装思路

  1. yum install gcc gcc-c++ make openssl-devel pcre-devel zlib-devel 然后框框一桶安装,y y确认

2.创建一个目录,这个目录用于nginx的安装目录,我是在/usr/local/tengine,你随意(其实我有点疑惑的,下载的源码编译包,怎么就变成安装了,windows下也没安装一说)

3.把linux的tengine.tar包放到麒麟服务器上,通过finalshell工具或者其他工具

4.通过cd目录进入到你的tengine.tar目录下,然后解压, tar -zxvf tengine-3.1.0.tar.gz

5.解压成功之后,cd进入解压后的目录

6.执行 ./configure --prefix=/usr/local/tengine,,意思就是把第2步的安装目录配置上去

7.执行 make 回车(输入make 回车即可),甭管输入什么,框框一顿操作就行

8.输入make install 回车

9.到这就表示安装好了(不明白为什么叫安装,反正跟着来),接下来就是启动nginx

10.这个和windows就不大一样了,在windows下直接是找到源码包里面nginx.exe双击,但是在linux下要cd进入上面设置的安装目录下,比如 /usr/local/tengine,那么就要执行 /usr/local/tengine/sbin/nginx 回车即可

11.通过端口查看,nginx是否成功启动, ps -ef | grep nginx;看到两个进程就对了,windows下也是两个

12.因为我们nginx是部署在服务器上的,那么我们外部想要测试下是否启动成功,那么就需要服务器开启80端口防火墙(80是默认的,可以改)

13.打开端口 firewall-cmd --permanent --add-port=80/tcp;重启防火墙 firewall-cmd --reload

14.外部测试,能打开nginx默认页面表示成功

好了。上面是在线安装,下面说下离线安装。

其实在线和离线的区别就在于,安装tengine或者nginx的时候,是需要安装额外依赖的,在线就很舒服了,一句指令,依赖都是自动的,而如果是离线,那么就需要自己找很多rpm包,进行安装,

如果恰好你有麒麟的iso镜像,那么解压后,取到packerage文件夹找就可以了。

我开始就准备离线,安装这个提示缺那个,安装那个又提示缺别的

太复杂了,不过这是个思路,你安装提示缺少什么,就去麒麟的解压包里找对应的rpm

安装告一段落,目前外部测试tengine是安装成功了,那接下来要进行

接下来:

1.修改配置conf文件,修改监听端口,修改反向代理等

2.把tengine服务做到开机自启中(windows下是通过nssm做的,可以自行百度,也很简单)


修改第一项,既然使用了linux,那么要用vi指令修改,但是....实在是一言难尽,改着改着火大了。

直接打开conf文件,把windows下的内容复制了过去,保存结束,测试成功。

所以步骤就没什么好说的了,总结一下修改ngnix

目前使用两点

1.作为静态资源服务器,我之前说过,前端打包后就是一个静态文件,是无法通过类似于http://1.1.1.1:8090 这样访问的,所以需要一个web服务器,之前net的iis就是这样,当然我说的很简单

2.作为代理服务器,就是比如你java开发了个jar,打包后别人通过你服务器ip和你java服务端口访问你的接口,这种方式是直接访问,把你的服务器等于是暴露出来,于是,nginx提供反向代理,你访问的是nginx的ip和nginx监听的端口,但是在nginx内部帮你转到了真实的jar服务,保护后端

3.nginx还有其他强大功能,比如https,防盗链,负载均衡,好像还有别的,没怎么了解


设置开机自启,前置工作:如果你服务器已经启动了nginx,那么先关掉先关掉先关掉先关掉

1.cd /lib/systemd/system 进入这个文件夹,开机自启的都放在这里

2.vim tengine.service 创建一个文件的意思,这个文件名随便你启

3.不会用指令写内容,所以我直接:wq 退出,然后打开直接复制粘贴(粘贴AI的),要注意一下"ExecStart"和"ExecReload",后面的地址就是你的安装目录

Unit

Description=Tengine web server

After=network.target

Service

Type=forking

ExecStart=/usr/local/tengine/sbin/nginx -g "daemon off;"

ExecReload=/usr/local/tengine/sbin/nginx -s reload

KillMode=process

Restart=on-failure

PrivateTmp=true

Install

WantedBy=multi-user.target

4.修改文件权限 chmod 745 nginx.service

5.systemctl enable tengine.service

6.systemctl start tengine.service(这一步好像是多余的。。。。。。)

7.reboot重启服务器,然后等启动之后,直接网站访问试试,成功表示开机自启了


至此,麒麟安装tengine,配置,开机自启结束。

相关推荐
(Charon)3 分钟前
基于 epoll 的高并发服务器原理与实现(对比 select 和 poll)
运维·服务器
Jtti23 分钟前
在 Debian 系统上清理缓存的方式和具体操作方法
运维·缓存·debian
伐尘1 小时前
【mac】如何在 macOS 终端中高效查找文件:五种实用方法
运维·macos
zzu123zsw2 小时前
第15章 Jenkins最佳实践
运维·jenkins
万物得其道者成2 小时前
Cursor + 云效 DevOps MCP
运维·devops
wanhengidc3 小时前
云手机运行是否消耗自身流量?
运维·科技·安全·游戏·智能手机
wanhengidc3 小时前
云手机将要面临的挑战有哪些?
运维·网络·安全·游戏·智能手机
岚天start3 小时前
网络计算工具ipcalc详解
linux·运维·网络·网关·广播地址·掩码·ipcalc
SH11HF4 小时前
Jenkins调用ansible部署lnmp平台
运维·ansible·jenkins
小薛博客4 小时前
23、Jenkins容器化部署Vue应用
运维·vue.js·jenkins