自学内容网 自学内容网

学习笔记029——Ubuntu安装Nginx

1、apt安装

#更新
apt-get update

#安装
apt-get install nginx
1.1 目录说明
/usr/sbin/nginx:主程序,启动文件
/etc/nginx:存放配置文件
/var/www/html:存放项目目录
/var/log/nginx:存放日志 

一般自动安装配置文件目录和主程序目录不变,因为版本原因,其它目录可能会变,

但是都可以从配置文件里ngxin.conf里找到对应的位置。

1.2 设置 ——> 跨域
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header Access-Control-Allow-Credentials true;

获取到nginx的执行路径后,使用-t参数即可获取该进程对应的配置文件路径:

/usr/sbin/nginx -t

结果如下:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

1.3 重启nginx服务

nginx安装目录sbin下,输入命令:

./nginx -s reload
1.4 systemctl方式管理
#启动
sudo systemctl start nginx

#关闭
sudo systemctl stop nginx

#查看状态
sudo systemctl status nginx

#查询nginx进程
ps -ef|grep nginx

#查看端口
lsof -i:8080

2、手动安装

2.1 下载nginx

点击下载

# 下载地址
http://mirrors.sohu.com/nginx/
2.2 解压
tar -zxvf nginx-1.25.4.tar.gz
2.3 安装gcc
apt-get install -y gcc

如果出现如下错误:

下列软件包有未满足的依赖关系:
 gcc : 依赖: gcc-7 (>= 7.3.0-12~) 但是它将不会被安装
       推荐: libc6-dev 但是它将不会被安装 或
               libc-dev

解决方案:

# 通过aptitude代替apt来处理。aptitude软件包在解决依赖性上更有优势
sudo apt-get install aptitude
sudo aptitude install gcc g++

aptitude会给出解决方案,根据解决方案来选择。

在这里插入图片描述

可以看到,这里aptitude提醒我们有很多包依赖,而这里显示的都是未安装,所以这里选择不接受这个解决方案。选择N

在这里插入图片描述

然后aptitude会再给出解决方案。因为我们安装的一些包版本与需要的版本不匹配,主要降级。此时选择Y

在这里插入图片描述

然后,aptitude会自动完成依赖包的降级

结束后,查看gcc和g++版本,已经安装成功

在这里插入图片描述

2.4 安装其他一些依赖
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
2.5 开始安装
# 解压
tar -zxvf nginx-1.25.4.tar.gz

# 进入目录
cd nginx-1.25.4

# 先把编译安装一下
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

  1. make: 编译,生成了可执行文件

  2. make install: 开始安装

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

2.6 设置环境变量
echo "PATH=/usr/local/nginx/sbin:${PATH}" > /etc/profile.d/nginx.sh
source /etc/profile.d/nginx.sh
2.7 systemctl方式管理

添加配置文件

sudo vim /etc/systemd/system/nginx.service

输入内容

[Unit] 
Description=nginx     #描述
After=network.target  #描述服务类别
[Service]
Type=forking   #后台运行形势
PIDFile =/usr/local/nginx/logs/nginx.pid  #PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx     #启动服务
ExecReload=/bin/kill -s HUP $MAINPID      #根据PID重载配置
ExecStop=/bin/kill -s QUIT $MAINPID       #根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target

调整权限

sudo chmod 777 /etc/systemd/system/nginx.service

重新加载

sudo systemctl daemon-reload

设置开机自启

sudo systemctl enable nginx
## 停止
sudo systemctl stop nginx.service
## 开启
sudo systemctl start nginx.service
## 重启
sudo systemctl restart nginx.service
## 查看服务状态
sudo systemctl status nginx.service
## 查看是否开机自启
sudo systemctl list-unit-files | grep nginx
2.8 查看版本
nginx -v

nginx version: nginx/1.25.4

2.9 nginx进程和端口查看
#查询nginx进程
ps -ef|grep nginx

#查看端口
lsof -i:8000

原文地址:https://blog.csdn.net/code__bee/article/details/143861404

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!