教程 | 用安卓手机搭建 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
教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置相关推荐
- 教程 | 用安卓手机搭建 web 服务器(一)—— 应用安装配置
[2019.2.23 更新]:更新 BusyBox,Linux Deploy 软件 之前无意间看到了一篇<在安卓上部署服务器>的文章,正好最近换了新手机,正好最近在学 Python 和 H ...
- 教程 | 用安卓手机搭建 web 服务器(三)—— 内网穿透
用手机完成服务器搭建后一般会放在寝室或者家里,这时使用的是内网,没有公网的固定 IP,没法进行域名解析,这时候就需要内网穿透了. 内网穿透的解决方案有花生壳.frp.魔法隧道.ngrok 等,我选择的 ...
- 如何利用安卓手机搭建WEB服务器
利用安卓手机搭建WEB服务器 背景介绍 Android是一种基于Linux的自由及开放源代码的操作系统 所以是用安卓来搭建服务器是完全可行的.接下来将教大家如何利用AndroPHP和Feel FTP( ...
- 安卓搭建虚拟服务器,安卓手机搭建云服务器
安卓手机搭建云服务器 内容精选 换一换 本文介绍使用云手机服务时需要了解的基本概念.云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机=云服务器+Android OS.您可 ...
- 安卓Termux搭建web服务器【公网远程手机Android服务器】
文章目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 转载自cpolar极点云的文章:[手机建站]Termux+Cpolar内网穿透,搭 ...
- 文件web服务器搭建,Web服务器的构建和配置
利用windows server2003中iis构建web服务器的几种方法.下面是学习啦小编跟大家分享的是Web 服务器的构建和配置,欢迎大家来阅读学习. Web 服务器的构建和配置 工具/原料 wi ...
- 基于KSWEB服务器与NAT123端口映射技术-----利用闲置安卓手机搭建网站服务器
想必各位小伙伴现在在家都闲得无聊,吃饭睡觉,就没事干了,闲来无事,我就想起了我上初中开始,一直有一个网站梦,就是想有一天,搭建一个个人的专属网站!嘻嘻嘻,所以一直就坚持钻研计算机,悲哀的是家里穷没有钱 ...
- 安卓系统PHP MYSQL服务器,安卓手机搭建网站服务器【Php+Mysql+Lighttpd】
早段时间看见过一篇文章介绍安卓手机能充当网站服务器使用: 正好这几天比较闲,决定来测试一下,看看是否真的行得通,稳定性能如何! 架设到手机上面以后测试编辑网站会比较方便,走到哪服务器就跟到哪里: 我手 ...
- 手机上能搭建mysql服务器_安卓手机搭建网站服务器【Php+Mysql+Lighttpd】 – 楚盟博客...
早段时间看见过一篇文章介绍安卓手机能充当网站服务器使用: 正好这几天比较闲,决定来测试一下,看看是否真的行得通,稳定性能如何! 架设到手机上面以后测试编辑网站会比较方便,走到哪服务器就跟到哪里: 我手 ...
最新文章
- androidinclude作用
- 一、【绪论】数据结构的基本概念
- binarytreenode”使用 类 模板 需要 模板 参数列表_c++1117 模板核心知识(一)—— 函数模板...
- 使用mysqlimport导入包含主键自增长属性的表
- 浅谈Tomcat的启动流程(源码级别)
- 关卡二:Flex伸缩布局
- 虚拟机调整C盘分区大小的取巧方法
- facade 门面模式和mediator 调停者
- 关于hadoop运行成功但是无法链接web页面
- linux任务调度框架,任务调度框架Hangfire 简介
- 我的世界基岩版python插件编写教程(pyr教程)
- 你知道云渲染和自己渲染有什么区别吗?
- Bootstrap框架个人总结
- oracle10G 数据泵技术
- 打破应试教育,犯错亦是成长
- 9天拿下CVPR竞赛冠军!家里的狗狗都改了作息时间...
- 狗狗拉稀黑色的怎么办
- 树莓派修改多网卡的连接
- Go 语言编程 — GPM 与 CSP 高并发模型
- scp修改服务器文件名称,scp删除服务器文件命令