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)
上一篇 2022年5月26日 下午8:40
下一篇 2022年5月26日 下午9:00


相关推荐

  • openclaw喂饭教程!在 Linux 环境下快速完成安装、初始化与 Web UI 配置

    openclaw喂饭教程!在 Linux 环境下快速完成安装、初始化与 Web UI 配置

    2026年3月13日
    1
  • minipcie usb总线_ipadmini2换wifi模块

    minipcie usb总线_ipadmini2换wifi模块1、概述EC20R2.1MiniPCIe-C模块是PCIExpressMiniCard1.2标准接口LTE模块。本文章主要讲解了如何驱动EC20R2.1MiniPCIe-C模块的硬件电路设计,主要包含有:电源设计通讯接口SIM卡的防护1.1、EC20R2.1MiniPCIe-C模块引脚分配1.2、EC20R2.1MiniPCIe-C模块引脚描述引脚号miniPCIE引脚名模块引脚名I/O功能描述备注1WAKE

    2025年10月1日
    11
  • VirtualBox虚拟机安装Ubuntu操作系统

    VirtualBox虚拟机安装Ubuntu操作系统刚开始学习 Linux 系统时候 有些纠结到底用哪个版本的好用那 对于程序开发人员大多数 使用 CentOS 和 Ubuntu 的 我当时就闲着没事干就都装上了 当时还买了本 Linux 命令行与 shell 脚本编辑大全 挺经典的一本书 打开每个版本系统使用了一下 个人感觉还是 Ubuntu 好用些 如果是个新手还是直接 Ubuntu 比较好 以下是总结的 VirtualBox 上安装 Ubuntu 过程 可以

    2026年3月17日
    2
  • Java日志管理最佳实践「建议收藏」

    原文出处:http://www.ibm.com/developerworks/cn/java/j-lo-practicelog/。感谢原作者,感谢ibm网站,里面有好多的精华帖。日志记录是应用程序运行中必不可少的一部分。具有良好格式和完备信息的日志记录可以在程序出现问题时帮助开发人员迅速地定位错误的根源。对于开发人员来说,在程序中使用日志API记录日志并不复杂,不过遵循

    2022年4月11日
    44
  • opengrok搭建[通俗易懂]

    opengrok搭建[通俗易懂]前序OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。一般常用于大型的项目中,比如Android系统源码。我也是刚来公司后才发现有这个东西的,在此自己也搭建一套,方便在家里也可以查看源码。因为是查看自己定制的系统源码所以要搭这个,如果只是查看AOSP的官方源码推荐一个网站:http://androidxref.com/环境OS:Debian

    2022年4月27日
    64
  • Python之pyecharts使用

    Python之pyecharts使用最近碰巧需要用到 pyecharts 但是实数门外汉 完全不懂怎么使用 网上找了一些教程和博客 不是 CV 大法 就是通篇代码 既没有代码里的注释 也没有文字解释 看了半天还是不知道各项属性是什么意思 怎么使用 到头来还要自己慢慢摸索 以上纯属个人吐槽 并非贬低所有博主 也没有表示我写的就好 只是单纯觉得有一些博文语焉不详 并没有什么实际意义 同时告诫自己 欢迎交流 喷子勿扰 侵权删除

    2026年3月26日
    2

发表回复

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

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