Centos虚拟机上安装部署Tenginx,以及部署过程中遇到的问题
Tenginx下载网址:
Tenginx 官网地址:http://tengine.taobao.org/
Tenginx的官方网址中可以阅读Nginx的文档,可以选择中文进行阅读。下载Tengine-2.3.2.tar.gz 进行部署。
一、VMware下Centos网络ip配置。
1、针对VMware上第一次安装centos虚拟机,需要配置虚拟机网络。首先确认虚拟机在VMware网络配置如图所示。首先确认虚拟机网络适配器是NAT模式,然后点击“编辑”--“虚拟网络编辑器”
2、选择VMnet8,点击DHCP设置,查看VMware分配虚拟机地址范围如下图所示,点击NAT设置,查看该虚拟机的网关和子网掩码信息,如图所示。(注意:这里面VMnet1和VMnet8都要报错连接 和启动状态,如果不是这种状态,最好点击面板上的“还原默认设置”按钮)
上图可知该虚拟机的IP地址范围是192.168.245.128~192.168.245.254。网关是192.168.245.2,子网掩码是255.255.255.0
3、在虚拟机上输入命令“ vi /etc/sysconfig/network-scripts/ifcfg-ens33 ” 设置虚拟机IP。有些虚拟机命名并不是ens33 ,可以查询本虚拟机网络驱动名称
其中BOOTPROTO=dhcp改为BOOTPROTO=static 标示ip由动态分配改为静态ip。ONBOOT= on 改为 ONBOOT=yes才能联网。ip设置在范围192.168.245.128~192.168.245.254内。目前设置为192.168.245.129(第二台虚拟机)。网关子网掩码按VMware上网络编辑器上配置。配置完成后“:wq"保存退出。
然后命令” systemctl restart nerwork.service “重启网络服务(注意要重启网络服务,不然IP配置不生效)。
4、yum search net-tools 命令搜索适合安装的网络软件,然后用 yum install net-tools.x86-64 -y 命令安装。
5、安装完成后,可以用ifconfig等命令查看ip信息。
7、Tenginx安装之前需要安装Gcc等依赖组件” yum install gcc openssl-devel pcre-devel zlib-devel -y“
8、通过xftp 将下载的tengine的包放到” /usr/local/“目录下。
9、在/usr/local/下新建tengine文件夹 ” mkdir /usr/local/tengine “,然后进入”/usr/local/”目录下将压缩包解压“ tar -zxvf tendine-2.3.2.tar.gz ”,进入tengine文件夹中将解压后的文件拷贝进来 " mv /usr/local/tengine-2.3.2 . "
10、编译并安装tengine, ./configure --prefix=/安装路径 , make && make install。目前安装路径为“/usr/local/tengine”
执行完成后目录状态是这样,
此时如下图可以通过在sbin的nginx启动tengine服务,但是停止tengine需要kill进程才行,使用起来不很方便,下面介绍配置shell脚本用service 命令启动、停止、重启tengine服务等操作。
11、用vi 编辑文件,提供的Nginx启动脚本文件内容到`/etc/init.d/nginx`这个文件中,配置tengine的启动脚本,建议用xshell远程连接编辑。
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/usr/local/tengine/sbin/$NAME
CONFIGFILE=/usr/local/tengine/conf/$NAME.conf
PIDFILE=/usr/local/tengine/logs/$NAME.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/tengine/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/tengine/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
注意配置文件中 红字部分要与你实际安装的tengine目录相匹配,如 :NGINX_BIN="/usr/local/tengine/sbin/nginx" 必须要和实际部署的tengine路径相同,也即是 ./configure --prefix=/安装路径 。
12、此时 nginx的权限还不够,无法用其中的命令运行tengine服务。用 chmod 777 nginx 赋予权限,然后用systemctl daemon-reload 重新加载系统启动脚本 ,最后可以使用nginx脚本启动服务了
13、启动服务
service Nginx start 启动服务
service Nginx stop 停止
service Nginx status 状态
service Nginx reload 动态重载配置文件
最后如果tengine服务启动了。浏览器访问不不了/usr/local/tengine/conf/niginx.conf 文件配置了监听端口,在防火墙中配置该端口后重启防火墙就可以访问tengine服务了。
刷新浏览器后,发现可以正常访问了
自此充VMware中虚拟机IP配置和tengine部署已全部结束,这个只是本人学习过程中的总结,当然会有且他未遇到和发现的问题,仅以此博客记录自己学习过程供后面读者学习借鉴,不足之处还望指正。
Centos虚拟机上安装部署Tenginx,以及部署过程中遇到的问题的更多相关文章
- 暑假第一周总结(在centos虚拟机上安装jdk以及hadoop并对hadoop进行配置)
本周主要就是对虚拟机进行安装并在上边安装jdk以及hadoop并对其进行配置. 在看林子雨老师的教程时,下载了老师所给的全套的下载软件,在安装时发现老师所给的VirtualBox安装后无法正常启动,尝 ...
- 虚拟机上 安装 CentoOS 7.5 1804 过程记录
1.准备安装镜像 在开始安装CentOS之前,必须下载安装ISO映像.镜像可从CentOS网站https://www.centos.org/download/.提供以下基本类型的镜像: DVD ISO ...
- Linux学习(一)-安装vm虚拟机以及如何在虚拟机上安装Centos系统
(一)基本说明 学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习. 1)安装软件vm12; 2)通过vm12创建一个虚拟机空间; 3)在vm12创建好的 ...
- 虚拟机上安装Linux系统之ubuntu
以前自己在虚拟机上安装过几回Linux系统,有centos.ubuntu,不过都没来得及写一个安装教程,今天正好需要重新安装一下,就分享一个安装ubuntu的详细教程 安装前准备: VMWare虚拟机 ...
- 在VM虚拟机上安装Microsoft Dynamics CRM 2016 步骤图解及安装注意事项
安装Dynamics CRM 2016环境配置要求: 系统版本:Windows Server 2012 R2(必须) SQL 版本: SQLServer2014SP1-FullSlipstream-x ...
- 虚拟机上安装Linux操作系统
很久之前就知道虚拟机这个东西,也都在虚拟机上安装过Windows的操作系统和Linux的操作系统,但是一直都没有去做笔记. 最近还是比较有时间,就移除了前两天刚刚安装的Linux系统,重新安装一次,做 ...
- Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7
第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示
- 在VMware Workstation11虚拟机上安装黑苹果
图文详解如何在VMware Workstation11虚拟机上安装黑苹果Mac OS X 10.10系统-网络教程与技术 -亦是美网络 http://www.yishimei.cn/network/5 ...
- 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置) 软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...
随机推荐
- 微信网页授权多次回调code请求
最近在做微信网页授权的时候遇到一个问题如果直接从后台把微信授权的url参数什么的拼装好,然后直接redirect 这个url 会导致时不时的多次请求回调的url .网上说是因为网络原因,如果10s没有 ...
- VC维相关知识
假设空间H(Hypothesis Set) 输入空间D(X1...Xn) 1.增长函数(grown function) 是关于输入空间尺寸n的函数 假设空间对于D中所有实例实现分类(赋予标记)的分类方 ...
- Java学习日报9.22
/* * 信1905-2班 * 杨传伟 * 2020.9.22 * 20194074 * 账号密码默认 666666 */package atm; import java.util.*;public ...
- 浅谈Java并发编程系列(八)—— LockSupport原理剖析
LockSupport 用法简介 LockSupport 和 CAS 是Java并发包中很多并发工具控制机制的基础,它们底层其实都是依赖Unsafe实现. LockSupport是用来创建锁和其他同步 ...
- 简谈python从Oracle读取数据生成图形
初次学习python,连接Oracle数据库,导出数据到Excel,再从Excel里面读取数据进行绘图,生成png保存出来. 1.涉及到的python模块(模块安装就不进行解释了): 1 import ...
- 第十章节 BJROBOT PID 动态调节【ROS全开源阿克曼转向智能网联无人驾驶车】
1.把小车架空,平放在地板上,注意四个轮子一定要悬空.用资料里的虚拟机,打开一个终端 ssh 过去主控端启动 roslaunch znjrobot bringup.launch. 2.在虚拟机端再 ...
- Spark sql 简单使用
一.认识Spark sql 1.什么是Sparksql? spark sql是spark的一个模块,主要用于进行结构化数据的处理,它提供的最核心抽象就是DataFrame. 2.SparkSQL的作用 ...
- 2020DevOps状态报告——平台模型:扩展DevOps的新方法
平台模型是我们在这个领域看到越来越多的方法,它源于负责产品或服务的端到端交付的产品团队的理念.如果只应用于单一的产品,或者几个产品,它的效果很好. 但如果有数百种产品或服务,把一个产品团队用于这些产品 ...
- Spring 抽象的缓存包 spring-cache
项目实战 用户信息查询接口中,使用@Cacheable注解 绑定相关信息接口中,使用@CachePut更新用户信息到缓存 更新用户信息接口中,使用@CacheEvict删除缓存信息 使用步骤 添加依 ...
- Angular入门到精通系列教程(4)- 开发环境搭建以及入手项目
1. 本地开发环境搭建 1.1. node.js 1.2. Angular CLI 2. 开发工具 - Visual Studio Code 第一个Anuglar项目 创建第一个anuglar项目 A ...