教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置

上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx。

Nginx(“engine x”)是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品。


Step 0:安装必要环境

上一篇教程中我们使用 Linux Deploy 安装的是 Ubuntu 系统,Ubuntu 缺省情况下,并没有提供 C/C++ 的编译环境,因此还需要手动安装。

单独安装 gcc 以及 g++ 比较麻烦,为了能够编译 Ubuntu 的内核,Ubuntu 提供了一个 build-essential 软件包,它提供了编译程序必须的软件包。

如果是用普通用户登录的系统,使用 sudo apt-get install build-essential 命令安装软件包。
sudo 命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是由 root 亲自执行。

如果已经切换至 root 用户,则可以直接使用 apt-get install build-essential 命令。
这里写图片描述

然后使用 apt-get install libtool 命令安装 libtool。

除此之外,由于我们后面还需要使用 wget 命令获取所需的库,上一篇教程中安装的系统中缺少 wget,所以我们使用 apt-get install wget 命令安装 wget:

在这里插入图片描述
这篇文章中尽量使用 root 用户,避免权限不足。


Step 1:选定安装目录

可以选择任何目录,为了方便,本文选择 /usr/local/src 目录。

使用 cd /usr/local/src 命令切换目录。
这里写图片描述


Step 2:安装 PCRE

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 有最新的 PCRE 包,本文选择 pcre-8.42.tar.gz。

下载 PCRE 安装包:

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz

这里写图片描述

解压安装包:

tar -zxvf pcre-8.42.tar.gz

进入安装包目录:

cd pcre-8.42

编译安装:

./configure
make
make install

Step 3:安装 zlib

在 http://zlib.net/ 网站中下载最新的 zlib 包,这里选择 zlib-1.2.11.tar.gz,使用下面命令下载编译和安装 zlib 包:

cd /usr/local/srcwget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install

Step 4:安装 openssl

cd /usr/local/srcwget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -zxvf openssl-1.1.0h.tar.gz
cd openssl-1.1.0h
./config
make
make install

openssl 的安装时间比较长。如果安装错误可以试试其他版本的 openssl

据评论:手机型号一加3T,安装 openssl 出错,解决方法:安装 openssl-fips-2.0.16.tar.gz 版本


Step 5:安装 Nginx

Nginx官网 http://nginx.org/en/download.html 提供了三个类型的版本:
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版

这里我们选择稳定版,下面是安装 Nginx 的步骤:

cd /usr/local/srcwget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
./configure --with-http_stub_status_module --with-http_ssl_module
make
make install

--with-http_stub_status_module 表示支持 nginx 状态查询。
--with-http_ssl_module 表示开启 HTTP SSL 模块,以支持 HTTPS 请求。

./configure 后的结果。
这里写图片描述

/usr/local/nginx 就是 nginx 的安装目录。

安装好之后简单配置一下 nginx,配置文件在系统中的路径是 /usr/local/nginx/conf/nginx.conf
可以使用 vim 命令进行操作(默认没有安装 vim,需要手动 apt-get 安装),或者直接使用手机上装的 ES 文件浏览器进行修改。

打开 ES 文件浏览器,退回到根目录,配置文件的位置是:
/data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux/usr/local/nginx/conf/nginx.conf
可以看出,ES 文件浏览器路径中 linux 后面的部分就是我们系统的位置。

打开配置文件后,找到 server,每个 server 部分代表一个 web 站点,就是我们需要修改的地方。
listen 是监听端口,默认是 80。
server_name 是外网访问的域名,这里我们修改为 Linux Deploy 上显示的地址,我这里就是 192.168.1.115。
在默认 location 前面添加以下代码,使得可以查看 nginx 状态:

location /status {stub_status;
}

location 代表一个过滤器,/ 匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image 制定专属过滤。
root html 代表站点的根目录,完整地址是 /usr/local/nginx/html,在 ES 文件浏览器中转到这个文件夹后可以看到默认有两个文件,一个是 50x.html,一个是 index.html。可以根据自己的需求更改站点的目录路径。
完成后如下所示:
在这里插入图片描述
修改完成后检查配置文件 nginx.conf 的正确性:

/usr/local/nginx/sbin/nginx -t

这里写图片描述

据评论:nginx 检查出现 “nginx: [emerg] getgrnam(“nobody”) failed nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed” 错误,可以参考 新建用户,且不让用户直接登录:
1 添加 nginx 用户组及用户
2 groupadd www
3 useradd -g www -s /usr/sbin/nologin www
不让www用户直接登录 添加一个名为 nobody 的用户后解决

没问题的话就可以启动 nginx 了,nginx 的启动需要有 root 权限:

/usr/local/nginx/sbin/nginx

然后在电脑浏览器中输入 server_name 中配置的地址 192.168.1.115,出现如下页面就说明 nginx 安装配置成功。
这里写图片描述
更改网址为 192.168.1.115/status 即可查看 nginx 状态。
这里写图片描述
Active connections: 1 —— nginx现在的连接数

server accepts handled requests
12 12 7
—— nginx 握手的次数,处理的次数,请求的次数。一般情况下,前面的两个数应该是相等的,表示没有丢失。

Reading: 0 Writing: 1 Waiting: 0
Reading:在读的连接数
Writing:在写的
Waiting:在等待的,一般是处理长连接的时候才会出现,keeplive

至此,nginx 在 Linux 上的配置已经完成,但是现在只能通过局域网内的电脑对网站进行访问,最后一个教程将完成内网穿透,使得外网可以通过域名访问内网网站。

传送门:教程 | 用安卓手机搭建 web 服务器(三)—— 内网穿透

reference:
https://www.cnblogs.com/wyd168/p/6636529.html
https://www.cnblogs.com/taiyonghai/p/6728707.html
http://www.runoob.com/linux/nginx-install-setup.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/67429.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android能装到电脑上吗,怎么在电脑上装安卓系统

想要在电脑上装安卓系统,该怎么办呢,那么怎么在电脑上装安卓系统的呢?下面是学习啦小编收集整理的怎么在电脑上装安卓系统,希望对大家有帮助~~ 在电脑上装安卓系统的方法 工具/原料 Android x86系统的镜像(见参考资料) UItraISO的安装包(见参考资料) 电脑一台 U盘一个(1G以…

安卓AndroidStudio如何在同一个手机中安装两个相同的项目

我的开发工具: AndroidStudio 今天由于公司业务需要, 经理让安装两个相同的APP到手机上, 考虑到包名是应用程序的唯一标识, 所以在工程列表的app下的build.gradle里, 把applicationId改成了不同的. 然后再使用新的签名文件(也可以使用同一个签名文件)重新打包, 这样打包出来的…

android手机怎么改字体,手机字体怎么改 安卓手机字体修改教程

类型:图片素材大小:1.6M语言:中文 评分:1.9 标签: 立即下载 看惯了自带的那个方方正正的字体,觉得不是那么美观呢。通过以下的教程可以帮你给自己的爱机换一个字体。 首先手机要需要获取过root权限&#xf…

如何在手机上装linux系统吗,怎样在Android手机上安装GNU / Linux

第1步:安装Busybox库 请确保您已扎好手机的根。您几乎可以在每台设备上通过检查是否具有“超级用户”应用程序来做到这一点。 ( 但是,在某些过程中,您可能没有安装该应用程序就已经将手机植根了。 )。 我们希望使用busybox库来帮助我们与之交…

android手机怎么改字体,安卓手机怎么改字体

安卓手机的花样层出不穷,其中各种各样的字体更是彰显个性,那么安卓手机该如何修改字体呢?手机屏幕是和我们最直观的交互界面,每天看着同样的手机界面,难免会有些视觉疲劳,怎么样给手机增添点色彩,让我的手机和别人的不一样,跑跑车这里分享了一种修改方法,简单的几部操…

手机怎么打开谷歌官网页服务器地址,google手机地图打不开了的解决方法

google手机地图打不开了的解决方法 google地图是很方便偶们出行的一个小助手,但是经常会出现google地图打不开的情况。下面由就爱阅读小编为你整理了google手机地图打不开怎么办的相关方法,希望对你有帮助! google手机地图打不开解决方法如下 1.手机或者…

安卓手机连接不上电脑解决方法总结

因为经常需要进行安卓连接电脑进行真机调试,所以需要进行安卓连接电脑。以下进行步骤说明: 安装ADB 电脑上装上adb,具体百度一下教程,可以看如何安装ADB当安装好后,进行adb devices测试这个就是检查电脑是否有安卓设备…

android版本不更新,如果安卓系统手机一直不更新app会不会不卡?

硬件损耗问题就不讨论了,电子设备都有这个问题。我见过某大牛自己把不需要的功能、服务给删了,然后自己用 Nexus刷一台,就是持久又不卡,不但不卡,而且用起来很顺!真正卡、耗电的原因,绝不是安卓…

你想在旧Android手机上装Linux系统吗?看这里

如果您对此文感兴趣,说明您应该使用过Linux,并且知道Linux几乎可以在任何硬件上运行。但有时我们也会想,Android不是已经是Linux了吗?为啥还要再安装Linux呢? Linux操作系统实际上应该被称为GNU/Linux。但随着时间的推…

python安装不了是什么问题_python为什么安装了运行不了?

python安装却运行不了的解决办法:1、因为下载过程中的错误操作导致运行不了,需要重新下载;2、因为配置原因得到错误,进行重新安装即可。 有朋友在安装了Python之后发现不能正常使用,就说明安装过程出了问题。有同样问题…

智能网联汽车 V2X 系统预警应用功能测试与评价方法

本文件规定了智能网联汽车V2X系统预警应用功能的通用要求、测试项目及测试方法,包括测试 场景的功能要求、测试步骤以及通过性条件。 本文件适用于具有V2X网联功能的M1类、N1类车辆的应用场景测试与评价,其他车辆类型可参考 执行。 1 术语和定义 术语…

C-V2X 与智能车路协同技术的深度融合

C-V2X 与智能车路协同技术的深度融合 摘要:智慧交通已经发展到智能车路协同(i-VICS)阶段,车用无线通信(V2X)是 i-VICS 的重要支撑技术,可以支撑车路间的实时信息交互。介绍了蜂窝 - V2X&#x…

从软硬件解耦到协同定义,谁在创新自动驾驶平台新玩法?

随着软件定义汽车的逐渐深入,整车电子电气架构已经从硬件驱动(拼算力)进入到软件硬件协同定义的新阶段,产业链软硬件供应商之间的生态合作也在增多。 1月18日,全球自动驾驶计算芯片引领者——黑芝麻智能宣布将联合 Bl…

5G R16+C-V2X赋能下一代智能T-Box,助力智能驾驶时代加速到来

█ 5G技术助力C-V2X持续进化,智能网联新生态逐步建立 汽车行业正面临百年未有之变局,智能汽车已经成为全球汽车产业发展的战略方向。发改委、工信部、交通部等11部委联合印发的《智能汽车创新发展战略》中指出:汽车产业与相关产业全面融合&a…

智能网联汽车通信场景简介

智能网联汽车通信场景简介 智能网联汽车(简称 ICV)是指搭载先进的车载传感器、控制器、执行器等装置,融合现代通信与网络技术,实现车与 X(车、路、人、云等)(V2X)的智能信息交换与共享,具备复杂…

驭势科技助力东风打造自动驾驶出租车队,加速智能汽车关键核心技术研发

10月19日,以“志启新章,智创不凡”为主题的东风公司技术中心第五届科技创新周拉开帷幕。在本届科技创新周开幕式上,东风自动驾驶领航项目正式启动。东风公司技术中心、武汉经济技术开发区与国内知名高校以及国内头部自动驾驶企业一同签约。驭…

智能驾驶浪潮催生车载通信新机遇 移远通信抢占5G+C-V2X+GNSS风口

现阶段,全球汽车产业正在加速驶入智能网联汽车时代,“5G车联网”作为汽车产业融合技术发展的重要领域,已经成为国内外新一轮技术创新和产业发展的热点。 根据《高工智能汽车研究院》数据显示,今年1-9月同时搭载ADAS数字座舱的新车…

2019智能网联汽车技术大会 | C-V2X技术发展将加速车联网商用步伐

12月28日上午,2019智能网联汽车技术大会C-V2X技术研发与实践研讨会在广州黄埔香岚王子明时酒店召开。本次论坛以“加速车联网商用步伐”为主题,联通智网科技华南区副总经理严炎、四维图新车路协同研究院院长郭磐石、金溢科技副总裁兼首席技术官何宁、高新…

智能网联汽车——智能化

一、无人驾驶的系统组成 算法端包括面向传感、感知和决策等关键步骤的算法,从传感器原始数据中提取有意义的信息以了解周遭的环境情况,并且根据环境变化做出决策;客户端包括机器人操作系统以及硬件平台,融合多种算法以满足实时性与…

智能网联汽车深度报告:车路协同,高阶自动驾驶新起点

智能网联汽车深度报告:车路协同,高阶自动驾驶新起点 车路协同有望于 2030 年国内规模化落地,粗略估计国内市场将达万亿。智能网联 V2X 是核心,5G 部署进一步加速商用落地。需求端,汽车是继手机 之后数量最庞大的终端设…