首页 > 系统相关 >基于Ubuntu系统Nginx的两种安装方式

基于Ubuntu系统Nginx的两种安装方式

时间:2023-11-27 19:57:15浏览次数:47  
标签:NAME nginx get apt echo Nginx usr Ubuntu 安装

一、直接apt安装

** 如果本机安装了nginx,卸载nginx

apt-get --purge autoremove nginx

检查本机是否还有nginx程序在后台运行,如果有直接kill掉。

ps -ef | grep  nginx

1、默认版本安装

方便简单,很多依赖都自动给安装好了,一个命令即可:

apt-get update

apt-get install nginx

2、选择其它版本安装

首先查看有什么版本

apt-get update

apt-cache show nginx

发现有2个版本可以安装,还伴随了其他版本信息的显示。然后选择我们想要的版本按照即可

apt-get install nginx=1.18.0-0ubuntu1.3

3、目录说明
/usr/sbin/nginx:主程序,启动文件
/etc/nginx:存放配置文件
/var/www/html:存放项目目录
/var/log/nginx:存放日志

一般自动安装配置文件目录和主程序目录不变,因为版本原因,其它目录可能会变,但是都可以从配置文件里ngxin.conf里找到对应的位置。

4、nginx管理命令
service nginx start

service nginx restart

service nginx stop

二、编译安装
1、下载nginx文件
下载想要的版本 Index of /nginx/

2、下载nginx的依赖
这一步对应上面的自动安装就显得麻烦了

apt-get install -y gcc
apt-get install -y libpcre3 libpcre3-dev
apt-get install -y zlib1g zlib1g-dev
apt-get install -y openssl 
apt-get install -y libssl-dev

3、解压nginx压缩包

找个目录,把刚刚下载的nginx放进去,解压后进入:

# 如果你是从Windows拖压缩包到Linux,需要安装 lrzsz

apt-get -y install lrzsz

tar -xvf nginx-1.18.0.tar.gz

cd nginx-1.18.0

4、安装nginx

执行命令:

 

# 先把编译安装一下

apt-get install -y make

# 执行安装命令

./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
&& make \
&& make install

 

说明:
1) configure:是用来编译之前的配置工作

--prefix:指定最终安装到的目录 默认值 /usr/local/ngnix

--sbin-path:用来指定可执行文件目录:默认的是 sbin/nginx

--conf-path:用来指定配置文件目录:默认的是 conf/nginx.conf

2) make: 编译,生成了可执行文件

3) make install: 开始安装

4) 其实是三个命令,我用&&连在一起了,怕小白不明白说明下。因为我第一次看就懵了。

*** 当然还有配置其他参数,比如--user=nginx --group=nginx,详情可以百度哈。

5、nginx管理命令
1)把nginx加入环境变量

echo "PATH=/usr/local/nginx/sbin:${PATH}" > /etc/profile.d/nginx.sh
source /etc/profile.d/nginx.sh

 2)配置启动项命令

把下面的脚本复制到这里

vim /etc/init.d/nginx

官网是提供了centos启动脚本,见下面链接,我这里盗了一份ubuntu的,亲测好使。两份还是不一样的。注意修改里面的红色字体参数和自己的环境所匹配。

Red Hat NGINX Init Script | NGINX

#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f nginx defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add nginx'

### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO

# Author: licess
# website: http://lnmp.org

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/etc/nginx/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid

case "$1" in
start)
echo -n "Starting $NAME... "

if netstat -tnpl | grep -q nginx;then
echo "$NAME (pid `pidof $NAME`) already running."
exit 1
fi

$NGINX_BIN -c $CONFIGFILE

if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;

stop)
echo -n "Stoping $NAME... "

if ! netstat -tnpl | grep -q nginx; then
echo "$NAME is not running."
exit 1
fi

$NGINX_BIN -s stop

if [ "$?" != 0 ] ; then
echo " failed. Use force-quit"
exit 1
else
echo " done"
fi
;;

status)
if netstat -tnpl | grep -q nginx; then
PID=`pidof nginx`
echo "$NAME (pid $PID) is running..."
else
echo "$NAME is stopped"
exit 0
fi
;;

force-quit)
echo -n "Terminating $NAME... "

if ! netstat -tnpl | grep -q nginx; then
echo "$NAME is not running."
exit 1
fi

kill `pidof $NAME`

if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;

restart)
$0 stop
sleep 1
$0 start
;;

reload)
echo -n "Reload service $NAME... "

if netstat -tnpl | grep -q nginx; then
$NGINX_BIN -s reload
echo " done"
else
echo "$NAME is not running, can't reload."
exit 1
fi
;;

configtest)
echo -n "Test $NAME configure files... "

$NGINX_BIN -t
;;

*)
echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"
exit 1
;;

esac
 3)保存后修改执行权限

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

 

注意**:如果你是从Windows挪过来的nginx文件,需要在/etc/init.d/nginx保存的时候设置下格式,要不执行的时候报格式错误,(vim 的命令行设置)

:set ff=unix

 

4)测试启动nginx

 

 完毕

注:官网还提供了一个方法:我还没试过,大家也多看官网信息,那里是最权威的。https://github.com/Fleshgrinder/nginx-sysvinit-script/blob/master/README.md

 

 

来自于

https://blog.csdn.net/u014225032/article/details/125283332

 

 

 

 

 

 


 

 

标签:NAME,nginx,get,apt,echo,Nginx,usr,Ubuntu,安装
From: https://www.cnblogs.com/sexintercourse/p/17860297.html

相关文章

  • Jenkins从Ubuntu迁移至AlmaLinux问题及相关解决记录
    相关背景之前在Ubuntu平台上搭建了Jenkins(在Ubuntu机器上使用war包安装Jenkins),现在由于一些需求,需要将系统迁移到AlmaLinux平台。由于AlmaLinux属于CentOS系列,与Ubuntu所属的Debian系列不同,在此记录一下迁移中遇到的问题。问题1:账号没有sudo权限现象:根据Linux机器自建账号并赋......
  • docker运行安装bitwarden
    dockerrun-d--namebitwarden-v/data/bitwarden:/data-e"TZ=Asia/Shanghai"-e"SIGNUPS_ALLOWED=true"-e"[email protected]"-e"SMTP_PASSWORD=12345678"-e"SMTP_SECURITY=starttls"-e"......
  • VM虚拟机安装系统出现架构不兼容提示
    报错内容:无法打开此虚拟机的电源,因为此虚拟机需要使用Arm计算机架构,而该架构与此X86计算机架构主机不兼容。请参见知识库文章84273。解决方法:这是因为镜像所需的架构和计算机本身的架构不兼容,比如我下载的就是arm64架构的iso镜像,但是我本身的电脑是win11系统,是x86_64系统,......
  • Debian10 离线安装docker
    1、https://blog.csdn.net/u014454538/article/details/131919517 Debian9离线安装docker2、https://www.cnblogs.com/nihaorz/p/12123803.htmldebian10.x(buster)离线安装docker及卸载3、https://blog.csdn.net/weixin_52480810/article/details/132473624debian12的lin......
  • Linux MySQL安装和配置
    包管理器安装MySQL使用包管理器安装MySQL过程很简单,但是也存在一个问题,就是只能使用源里面提供的MySQL版本,相ubuntu2004的源就只提供了8.0版本的MySQL,如果要装5.7版本就没法装。ubuntu1、配置APT源ubuntu自己的APT源里面就有MySQL,以ubuntu2004为例,可以直接用相关源就行了,也可......
  • Python知识补充pip 安装包的工具
    Python知识补充pip安装包的工具(1)安装第三方模块pipinstall模块名pipinsyall模块名==#查看我当前模块都有哪些版本pipinsyall模块名==版本号#安装指定版本的模块(2)卸载模块pipuninstall模块名(3)临时换源pipuninstall模块名清华大学: https://pypi.tuna.......
  • linux中使用docker安装rabbitmq
    首先确保linux中docker环境正常运行。1、搜索docker镜像dockersearchrabbitmq2、拉取镜像dockerpullrabitmq3、启动rabbitmqdockerrun-d--namerabbitmq1--restartalways-p15672:15672-p5672:5672rabbitmq4、启动web工具 1)进入容器:dockerexec-itrabbi......
  • linux安装Apache、PHP、Mysql
    https://www.jianshu.com/p/39c4aa6f7103linux安装Apache、PHP、Mysql春风仿佛爱情IP属地:江西0.2842018.09.0119:41:37字数1,755阅读3,562一、检查系统环境二、安装Apache、PHP、Mysql三、安装基本常用扩展包四、配置Apache、mysql开机启动五、配置Mysql六、测试环境七、......
  • Rancher v1.x 使用手册之三 安装Rancher并启用SSL
    安装Rancher并启用SSL为了在RancherServer启用 https 访问,您需要在RancherServer前使用一个代理服务器代理https请求,并能设置http的头参数。我们会在以下的内容中提供一个使用NGINX、HAProxy或者Apache作为代理的例子。当然了,其他工具也是可以的。需求除了一般的RancherServer......
  • Rancher v1.x 使用手册之四—离线安装
    离线安装不可对外访问的网络环境(内网)也是可以启动Rancher服务的。在这种拓扑下,可以通过内网提供的IP或者域名来访问Rancher的操作界面(UI界面)。另外,也可以用HTTP代理或者私有镜像库来配置Rancher。需要注意的是,在内网中启动一个Rancher服务会导致一些特性无效,比如:使用操作......