Nginx 和 Apache 安装[通俗易懂]

Nginx 和 Apache 安装[通俗易懂]Nginx和Apache安装Nginx安装Ubuntu下安装CentOS下安装安装依赖下载并解压Nginx创建www用户运行configure文件检测程序编译安装创建软连接在init.d中创建nginx启动Nginx配置防火墙端口Apache安装Ubuntu下安装CentOS下安装安装依赖安装apr安装apr-util安装httpd在init.d中创建软连接启动Nginx安装Ubuntu下安装sudoapt-getinstallnginx–upgr

大家好,又见面了,我是你们的朋友全栈君。

Nginx 安装

Ubuntu 下安装

sudo apt-get install nginx --upgrade

CentOS 下安装

  • ※ 使用 root 用户 ※

安装依赖

yum groupinstall "Development Tools"
yum -y install wget openssl openssl-devel make automake pcre-devel zlib zlib-devel

下载并解压 Nginx

cd /usr/local/src
wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

创建 www 用户

groupadd www
useradd -g www -s /sbin/nologin -M www

运行 configure 文件检测程序

./configure --prefix=/usr/local/nginx --user=www --group=www

编译安装

make && make install

创建软连接

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

在 init.d 中创建 nginx

vim /etc/init.d/nginx

#!/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
#processname: nginx
#config: /usr/local/nginx/conf/nginx.conf
#config: /etc/sysconfig/nginx
#pidfile: /usr/local/nginx/logs/nginx.pid
#Source function library.
. /etc/rc.d/init.d/functions
#Source networking configuration.
. /etc/sysconfig/network
#Check that networking is up.
[ “KaTeX parse error: Expected ‘EOF’, got ‘&’ at position 22: …KING” = “no” ] &̲& exit 0 nginx=…(basename KaTeX parse error: Expected ‘EOF’, got ‘&’ at position 87: …config/nginx ] &̲& . /etc/syscon…nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/[*]*–user=([ ])./\1/g’ –if [ -z "grep $user /etc/passwd" ]; then useradd -M -s /bin/nologin $user fi options=$nginx -V 2>&1 | grep ‘configure arguments:’for opt in $options; do if [echo $opt | grep ‘.*-temp-path’]; then value=echo o p t ∣ c u t − d ” = ” − f 2 ‘ i f [ ! − d ” opt | cut -d “=” -f 2` if [ ! -d ” optcutd=f2if[!dvalue” ]; 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 N G I N X C O N F F I L E r e t v a l = NGINX_CONF_FILE retval= NGINXCONFFILEretval=?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {

echo -n $”Stopping $prog: “
killproc p r o g − Q U I T r e t v a l = prog -QUIT retval= progQUITretval=?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {

configtest || return $?
stop
sleep 1
start
}
reload() {

configtest || return $?
echo -n $”Reloading $prog: “
killproc n g i n x − H U P R E T V A L = nginx -HUP RETVAL= nginxHUPRETVAL=?
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

chmod a+x /etc/init.d/nginx

启动 Nginx

/etc/init.d/nginx start

配置防火墙端口

firewall-cmd --permanent --add-port=80/tcp --zone=public
firewall-cmd --reload

Apache 安装

Ubuntu 下安装

sudo apt-get install apache2 --upgrade

CentOS 下安装

  • ※ 使用 root 用户安装 ※

安装依赖

yum groupinstall "Development Tools"
yum -y install wget openssl openssl-devel make automake pcre-devel zlib zlib-devel epel-release autoconf expat-devel libtool libnghttp2-devel

安装 apr

cd /usr/local/src
wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=/usr/local/apr-1.7.0
make && make install

※ 报错 rm: cannot remove 'libtoolT': No such file or directory

解决方法:将 configure 文件中 RM=‘ R M ′ 改 成 R M = ′ RM’ 改成 RM=’ RMRM=RM -f’

提示:使用 vim 可以用 :/RM=’$RM’ 快速找到目标

然后执行 make clean

安装 apr-util

cd /usr/local/src
wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr-1.7.0/
make && make install

安装 httpd

cd /usr/local/src
wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz
tar -zxvf httpd-2.4.46.tar.gz
cd httpd-2.4.46
./configure --prefix=/usr/local/httpd-2.4.46 --with-apr=/usr/local/apr-1.7.0/ --with-apr-util=/usr/local/apr-util-1.6.1/
make && make install

在 init.d 中创建软连接

ln -s /usr/local/httpd-2.4.46/bin/apachectl /etc/init.d/apache2

启动

/etc/init.d/apache2 start
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140979.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ICMP报文格式解析

    ICMP报文格式解析ICMP报文的格式类型总共分为三大类:1、差错报文2、控制报文3、查询报文上图是ICMP报文的基本格式,上面提到的三种ICMP报文均有“类型,代码和校验和”三个字段,后面还有4个字节是根据不同的报文类型而有不同的格式,有的是全0,有的则有其他的特殊格式。但是ICMP始终有8个字节的头部长度。其中类型字段代表着不同的报文类型,而代码字段指明了某个类型的报文中细分出的该报文的指定的功能。即一个类型的报文拥有着多种功能。同时还需要注意的是ICMP差错报文的数据部分存储的是IP头部和IP头.

    2022年5月5日
    90
  • MapReduce编程模型[通俗易懂]

    MapReduce编程模型[通俗易懂]1.MapReduce简介MapReduce是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在Hadoop集群上。一个完整的mapreduce程序在分布式运行时有三类实例进程:MRAppMaster负责整个程序的过程调度及状态协调MapTask负责map阶段的整个数据处理流程ReduceTask负责reduce阶段的整个数据处理流程2.MapReduce核心编程思想1)分布式的运算程序往往需要分成至少2个阶段。2

    2022年6月26日
    28
  • 用matlab导入excel数据画图_matlab导入数据并绘图

    用matlab导入excel数据画图_matlab导入数据并绘图MATLAB导入Excel数据并用plot函数绘图第一次写博客,心里有点小激动!写这一篇博客的目的是帮助像我一样刚入门的小白,因为昨天查了相关博客,但是发现和我想找的还是比较少的,所以特此写一篇来总结一下我摸索出来的经验。第一步:打开matlab并找导入数据这一项第二步:点击并找到需要导入的excel文件第三步:导入并选中需要导入工作区的数据第四步:用plot绘图其他关于mat…

    2022年10月15日
    1
  • 霍尼韦尔与浙江石化扩大合作,助力中国最大石化项目进一步建设[通俗易懂]

    霍尼韦尔与浙江石化扩大合作,助力中国最大石化项目进一步建设[通俗易懂]霍尼韦尔在第二届中国国际进口博览会上宣布,浙江石油化工有限公司(以下称“浙江石化”)将在其位于浙江省舟山的炼化一体化二期项目采用霍尼韦尔一系列先进技术,包括工艺技术、催化剂、关键设备和控制自动化技术。舟山炼化一体化项目是中国国家经济最新发展规划中的数个大型石化产业基地之一。合作内容包括:霍尼韦尔UOPMD/ECMD塔盘,用于两套240万吨芳烃装置中的精馏和汽提环节,为客户提供出色的性能和经济效…

    2022年10月16日
    0
  • redis避免缓存击穿_redis防止缓存击穿

    redis避免缓存击穿_redis防止缓存击穿Redis解决缓存穿透和缓存击穿的工具类

    2022年8月31日
    0
  • JS高级拖动技术 setCapture,releaseCapture

    JS高级拖动技术 setCapture,releaseCapture代码如下: window.onload=function(){ objDiv=document.getElementById(‘drag’); drag(objDiv); }; functiondrag(dv){ dv.onmousedown=function(e){ vard=document; e=e||window.event;

    2022年5月3日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号