1、安装基础依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
如果是政务外网使用yum需要提前修改代理,在etc/yum.conf中的添加
proxy=http://172.20.21.66:80
2、访问Nginx官网(http://nginx.org/download/)查找需要安装的版本
3、执行命令进行下载安装,版本号请替换成自己需要版本
//根目录创建一个目录,并进入此目录 mkdir installdata cd installdata //下载tar包,如果网络不通也可以自行下载上传到服务器 wget http://nginx.org/download/nginx-1.22.0.tar.gz //解压tar包 tar -xvf nginx-1.22.0.tar.gz //进入解压完成的目录 cd nginx-1.22.0 //执行命令 考虑到后续安装ssl证书 添加两个模块 ./configure --with-http_stub_status_module --with-http_ssl_module //执行make命令 make //执行make install命令 make install
4、启动Nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
5、配置Nginx
vi /usr/local/nginx/conf/nginx.conf
6、重启Nginx
/usr/local/nginx/sbin/nginx -s reload
7、查看nginx进程是否启动
ps -ef | grep nginx
因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:
1、rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。
rpm -qa | grep PHP
2、以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”;
dpkg-l|grep PHP
3、yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;
yum list installed | grep PHP
4、如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,
上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin:/usr/bin目录下。
进入dir目录
cd dir
返回上一级
cd ..
返回上两级
cd ../..
返回根目录
cd /
返回最近一次访问目录
cd -
查看当前访问路径
pwd
将test目录或文件压缩成一个名为newzip的压缩文件,可在名称前加上路径
zip newzip.zip test
查看当前目录内容
ls
查看目录中的隐藏文件
ls -a
创建名为dir的目录
mkdir dir
删除名为dir的目录或文件
rm -rf dir
移动dir目录到指定url路径
mv dir url
复制dir目录下所有内容到dir2目录中,其中dir和dir2都可以是目录所在路径。
备注:如果复制目录则必须需要加-r参数,才能将目录中的所有内容都复制过去,复制文件则不需要加-r参数。
cp -r dir dir2
查看当前目录下所有目录或者文件的大小(但不包括目录下的大小)和权限信息。
单位:B,以下两种相同
ls -ll
ls -l
单位:KB
ls -lh
查看当前所在目录权限以及大小(但不包括目录下的大小),加h单位是KB,不加则为B。
ls -ld
查看当前所有目录和文件的总大小(包括目录下面内容的大小),单位自动,视情况使用KB、MB、GB等。
du -sh
查看名为dir的目录或文件大小(包括目录下面内容的大小),单位自动,视情况使用KB、MB、GB等。
du -sh dir
查看当前目录下所有一级目录或文件各自的大小
--max-depth指定最大深度,0就是只计算查看当前目录下的内容。
如果想查询到当前目录的二级子目录,则可以将0改为1,三级子目录则改为2,以此类推……
du -h --max-depth=0 *
如果是1,则会把这几个目录下的二级子目录和文件都计算展示出来。
查看file文件内容,正向查看文件。
cat file
查看file文件内容,反向查看文件。
tac file
打开一个file文件
vim file
打开文件后编辑文件
I
使用I进入编辑模式后退出编辑
ESC
按ESC退出编辑后使用,保存并退出编辑窗口
:wq
按ESC退出编辑后使用,保存但不退出编辑窗口
:w
按ESC退出编辑后使用,强制性保存但不退出编辑窗口
:w!
按ESC退出编辑后使用,将修改保存到另外的file中,当file文件不存在时自动创建
:w file
按ESC退出编辑后使用,强制性保存并退出编辑窗口
:wq!
按ESC退出编辑后使用,不保存退出并退出编辑窗口
:q
按ESC退出编辑后使用,不保存强制退出并退出编辑窗口
:q!
按ESC退出编辑后使用,放弃所有修改,从上次保存的开始编辑:
:e!
查看当前目录下的权限信息
备注:
文件最前方有十个字符。
第一个代表文件类型,-代表是普通文件,d代表是目录。
后面九个代表权限一共分成3组,每3个一组,分别是所有者、所属组、其他人。
ls -l
给dir目录或文件设置777权限。
权限数字表示:
r=4,w=2,x=1。
例如:
rwxrw-r--:三个一组,rwx权限分别对应421,相加得7,rw-对应42相加,r--对应4。
chmod 777 dir
给dir目录以及他下面文件和目录设置777权限,R必须大写。
chmod -R 777 dir
给dir目录或文件的所有者单独加一个读的权限
u:所有者, g:所属组,o:其他人,a:所有。
+:添加权限,-减少权限,=直接赋值成这个权限。
chmod u+r dir
查看80端口占用情况
lsof -i tcp:80
netstat 命令用于显示网络状态
#查看TCP和Socket的网络信息,并显示正在使用Socket的程序识别码(pid)和程序名称 netstat --tcp --listening --program #等同于:netstat -t -l -p
kill 命令用于杀死指定pid的进程(假设Websocket进程的pid为123456)
kill 123456 #杀死进程 kill -KILL 123456 #强制杀死进程 kill -9 123456 #彻底杀死进程(是操作系统从内核级别强制杀死一个进程) kill -15 123456 可以理解为操作系统发送一个通知告诉应用主动关闭.
拼合命令:杀死指定(9502)端口进程
kill -15 `netstat -nlp | grep :9502 | awk '{print $7}' | grep -o '[0-9]*'`
持久化启动python3的Django项目
nohup python3 manage.py runserver 0.0.0.0:80 >>log_app.out>&1 &
持久化启动某个程序,log_app.out 为日志文件,&1是保存标准输出内容的意思,最后&后台运行的意思
nohup 启动命令 >>log_app.out>&1 &
根据 文件或目录名称 搜索
find 【搜索目录】【-name或者-iname】【搜索字符】:-name和-iname的区别一个区分大小写,一个不区分大小写
eg:在/etc 目录下搜索名字为init的文件或目录
find /etc -name init (精准搜索,名字必须为 init 才能搜索的到) find /etc -iname init (精准搜索,名字必须为 init或者有字母大写也能搜索的到) find /etc -name *init (模糊搜索,以 init 结尾的文件或目录名) find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)