防火墙关闭命令
centos
systermctl restart firewalld
setenforce 0 关闭selinux安全机制
ubuntu
ufw disable
安装依赖环境
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
源位置
etc/apt/source.list unbuntu的源位置(在线源)
etc/yum.repos.d/*.repo centos的源位置(在线源和本地源)
ubuntu的源文件
source.list加上.bak会变成备份源 apt-get update 更新软件包
不同操作系统nginx源码包编译安装所需要的依赖环境
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential(ubuntu)
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel(centos)
1.0编译安装(初代安装方法)
遇到的问题
root@cwq-virtual-machine:~# ping -c 5 www.baidu.com
ping: www.baidu.com: 域名解析出现暂时性错误
解决方法:修改域名解析地址
root@cwq-virtual-machine:/usr/local# ln -s /usr/local/nginx/sbin/nginx /usr/local/
ln: 无法创建符号链接 '/usr/local/nginx': 文件已存在
解决方法:环境路径是usr/bin
nginx: [emerg] getpwnam("nginx--group=nginx") failed
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
解决方法:--user =nginx\ 没有空格
> --user=nginx\
> --group=nginx
编译安装源码包的过程(ubuntu)
ufw disabled
关闭防火墙
apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
安装依赖环境,用apt包管理器下载一些库和工具
apt install -y lrzsz
lrzsz:是一个用于在 Linux 系统和 Windows 系统之间进行文件传输的软件包
cat /etc/passwd 查找该系统下的用户名
useradd -M -s /sbin/nologin nginx
为nginx的运行新建一个名为nginx的程序用户,不在home目录下创建用户文件夹,禁止用户登陆系统
-M 不给建立的用户创建家目录
-s /sbin/noligin 新建的用户为程序用户,不可以登陆系统,仅拥有可以执行程序的最小权限
rz -E
tar -xf nginx-1.22.0.tar.gz
解包
cd /opt/nginx-1.22.0
ls
./configure --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx
nginx-1.22.0是源码包解压目录,configure是可执行文件,--prefix 指定的安装路径前缀,在这里是指将nginx安装到/usr/local/nginx下面
配置(会检查依赖环境)
make -j 4 && make install
编译安装,用cpu四核来编译
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
创建软链接到环境路径下,可以在shell中直接输入nginx来执行
cd usr/local
ll
发现nginx的所属用户和所属用户组都是root
chown -R nginx.nginx /usr/local/nginx/
改变nginx安装目录的所属用户和所属用户组,-R表递归
cd /usr/local/nginx
root@cwq-virtual-machine:/usr/local/nginx# ls
conf html logs sbin
mkdir run
为进程文件创建一个目录,每一个进程都有一个PID号,是唯一的
root@cwq-virtual-machine:/usr/local/nginx# ls
conf html logs run sbin
run目录已经创建
root@cwq-virtual-machine:/usr/local/nginx# chown nginx.nginx run/
为run目录改变所属用户以及所属用户组
cd /usr/local/nginx/
ll 找nginx.conf
vim nginx.conf
(#pid logs/nginx.pid;)
修改成pid /usr/local/nginx/run/nginx.pid;
nginx -t 检查配置文件语法是否正确
vim lib/systemd/system/nginx.service 让系统识别到应用并且能控制,负责启动、停止和管理服务系统
unit:描述信息,依赖环境
service:后台运行,进程文件存放位置,启动nginx读取配置文件内容,启动,停用
install:多用户模式
systemctl daemon-reload
systemctl restart nginx
cd /usr/local/nginx/html
vim index.html 修改默认访问页面主页
编译安装的好处和坏处:
好处:1、开源,如果会代码,可以修改源代码
2、可以自定义模块和功能
缺点:1、繁琐
2.0dpkg安装deb包(第二代安装方法)
查找依赖,不解决依赖
dpkg -l 查找软甲是否安装
dpkj -i 安装
dpkj -r 卸载
dpkj -p 完全清除
3.0apt安装方法(第三代安装方法)
apt自动化一键式安装 安装完成之后软件的默认位置都在/etc
- RPM/DEB包:RPM/DEB包的安装位置通常不由安装者决定,而是由RPM包的作者预先设定,安装在多个默认路径中。
- 源码包:源码包安装的服务不能被服务管理命令所管理,因为没有安装到默认路径中,所有只能用绝对路径进行服务的管理。
挂载命令:mount -t 指定文件系统的类型
-o 指定挂载的参数,指定挂载目录的权限与配额
-a 自动挂载,根据/etc/fatab的配置实现
-v 显示详细过程
挂载的规则:1、一个设备同时只能挂载一个目录
2、挂载点指的是linux系统中的目录,这个目录最好是一个空目录(新建的目录)
本地yum仓库建立过程:
mount /dev/sr0(cdrom) /mnt 前一个是设备,后一个是挂载目录(绝对路径)
cd etc/yum.repos.d
mkdir bak
mv *.repo ./bak/
vim cxk.repo
[cxk]
name=cxk
baseurl=file:///mnt
gpgcheck=0
yum clean all 清除元数据
yum makeacahe
更新并且同步元数据,元数据提供软件包的位置,软件包之间的依赖关系,所以yum可以发现并且下载依赖关系,每次有新的源配置加入都需要更新元数据
yum install httpd -y
yum remove httpd -y
yum update 获取在线源软件包的最新版本
yum history
配置其他在线源的方法
wget http://mirrors.aliyun.com/repo/Centos-7.repo (阿里源配置的在线地址)centos
需要更新元数据
直接/etc/apt/sources.list文件里粘贴 ubuntu
不需要更新元数据(apt-get update就可以)
阿里源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ jammy universe
deb-src http://mirrors.aliyun.com/ubuntu/ jammy universe
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates universe
deb http://mirrors.aliyun.com/ubuntu/ jammy multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu jammy-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu jammy-security main restricted
deb http://mirrors.aliyun.com/ubuntu jammy-security universe
deb-src http://mirrors.aliyun.com/ubuntu jammy-security universe
deb http://mirrors.aliyun.com/ubuntu jammy-security multiverse
deb-src http://mirrors.aliyun.com/ubuntu jammy-security multiverse
centos装nginx需要装一个第三方的源epel-release(yum -y install epel-release)