致敬!第一次安装nginx填的坑

nginx安装步骤

下载地址: http://nginx.org/
http://nginx.org/download/nginx-1.16.1.tar.gz 我下载这个版本有点老了
ls -alh 显示文件大小和位置
tar -xzvf nginx-1.16.1.tar.gz 解压软件
cd nginx-1.16.1/
配置: ./configure --prefix=/usr/local/nginx
安装过程如果有没有安装成功的,可以yum update 后再安装
yum install -y zlib-devel openssl openssl-devel
yum -y 回答全部问题为是 , install 向系统中安装一个或多个软件包
再次执行: ./configure --prefix=/usr/local/nginx
make 编译执行
-------这就算安装成功了

启动和配置

nginx在的位置:ls /usr/local/nginx/sbin
=》nginx
输入/usr/local/nginx/sbin/nginx
就代表启动执行了。
我想设置一个环境变量,在输入 nginx 在任何位置都可以执行
cd 回到根目录下
vim .bash_profile复制了其中PATH这一行,然后在下一行写了
PATH=$PATH:/usr/local/nginx/sbin
保存退出wq!
source .bash_profile才可以生效。
再直接输nginx 就可以直接启动啦
ps -ef|grep nginx 查看pid

[root@centos7 ~]# ps -ef|grep nginx
root      58337      1  0 15:47 ?        00:00:00 nginx: master process nginx
nobody    58338  58337  0 15:47 ?        00:00:00 nginx: worker process
nobody    58340  58337  0 15:47 ?        00:00:00 nginx: worker process
nobody    58341  58337  0 15:47 ?        00:00:00 nginx: worker process
nobody    58342  58337  0 15:47 ?        00:00:00 nginx: worker process
root      61503  55254  2 16:29 pts/0    00:00:00 grep --color=auto nginx
[root@centos7 ~]# kill -9 58337 58338 58340 58341 58342

检测是否开启 本地回环检测(这个命令很有用,要记住):

 curl  http://127.0.0.1

:80 或者:8080

https://www.shuzhiduo.com/A/obzbqKDjdE/
https://blog.csdn.net/xiannvbushengqi/article/details/105516504
查看是否启动

ps aux|grep nginx

查看端口分配

netstat -ntlp

一切正常啊,那到底情况出在何处呢?
经过查阅了网上的资料,终于找到解决办法
第一步,对80端口进行防火墙配置:

firewall-cmd --zone=public --add-port=80/tcp --permanent
--permanent  :当前不生效,重启后生效

第二步,重启防火墙服务:
https://blog.csdn.net/qq_24604781/article/details/125146335

# 重启一个服务
systemctl restart firewalld.service

查看当前开了哪些端口其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件

如果 开启了两个服务并放行了对应端口,但是没有绑定httpftpfirewall中对应的服务(service),则不能通过外网访问搭建的nginx服务器和ftp服务器

(1)可以通过下面这个命令查看可以打开的服务有哪些

firewall-cmd --get-services

(2)可以通过下面的命令添加一个服务到firewalld

firewall-cmd --add-service=http //http换成想要开放的service

这样添加的service当前立刻生效,但系统下次启动就失效,可以测试使用。service要永久有效,则加上 --permanent

firewall-cmd --permanent --add-service=http

然后通过systemctl restart firewalld.service重启防火墙就生效了

这个时候就可以通过外网访问搭建的nginx和ftp服务器了
然后重新在浏览器中访问你的ip,应该就可以访问了。

nginx篇-解析nginx多进程问题

https://blog.csdn.net/weixin_44923168/article/details/123403354

vim /usr/local/nginx/conf/nginx.conf

第一行数据就是,把4改成了1.

Nginx 403 forbidden错误的原因以及解决方法
https://www.jb51.net/article/259583.htm
关于Nginx启动成功,浏览器不能访问的解决办法
https://www.shuzhiduo.com/A/obzbqKDjdE/
centos7 远程端口添加防火墙规则报错Error:INVALID_PORT
https://blog.csdn.net/xiannvbushengqi/article/details/105516504

指令: ps

ps -ef|grep nginx

作用: 主要是查看服务器的进程信息
选项含义:
-e:等价于 ‘-A’ ,表示列出全部的进程
-f:显示全部的列(显示全字段)
ps -e 此参数的效果和指定"A"参数相同。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
以下这条命令是检查java 进程是否存在:ps -ef |grep java
字段含义如下:

UID       PID       PPID      C     STIME    TTY       TIME         CMD
zzw      14124   13991      0     00:38      pts/0      00:00:00    grep --color=auto dae

1.2 ps -aux | grep命令

ps是显示当前状态处于running的进程,grep表示在这些里搜索,而ps aux是显示所有进程和其状态。
$ ps aux | grep amoeba 查到amoeba的进程
ps aux输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

二、netstat -apn 命令

nginx启动命令和停止命令
进入nginx的sbin目录下

cd /usr/local/nginx/sbin/

https://blog.csdn.net/kongfanyu/article/details/128769528

1、启动nginx

./nginx

2、停止nginx两种方式

#待nginx进程处理任务完毕进行停止。
./nginx -s quit
#先查出nginx进程id再使用kill命令强制杀掉进程。
./nginx -s stop

3、查看nginx端口

ps aux|grep nginx

4、查看nginx版本号

/usr/local/bin » ./nginx -V
nginx version: nginx/1.19.2
built by clang 11.0.3 (clang-1103.0.32.62)
built with OpenSSL 1.1.1g 21 Apr 2020
TLS SNI support enabled

5、重启nginx

a,对 nginx 进行重启先停止再启动,即先执行停止命令再执行启动命令
./nginx -s quit
./nginx
b,重新加载配置文件,当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload

6、开机启动

#如果想设开机启动的话
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist(取消开机启动)

7、安装位置、

网站根目录在:/usr/local/var/www

nginx配置文件位置:/usr/local/etc/nginx
注意:nginx被安装到的目录位置:/usr/local/Cellar/nginx
默认端口:80

8、查看帮助

/usr/local/etc/nginx » nginx -h
nginx version: nginx/1.19.2

Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/Cellar/nginx/1.19.2/)
-c filename : set configuration file (default: /usr/local/etc/nginx/nginx.conf)
-g directives : set global directives out of configuration file

9、判断配置文件是否有问题

/usr/local/etc/nginx » nginx -t

nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful

10、停止nginx服务的其他的方法

查看nginx进程,进程号,停止的话可以杀进程
查看nginx进程:ps -ef|grep nginx
sudo kill -QUIT //主进程号
sudo kill -TERM //主进程号

/usr/local/etc/nginx » ps -ef|grep nginx
501 3213 1 0 10:00上午 ?? 0:00.00 nginx: master process /Applications/phpstudy/Extensions/Nginx1.16.1/sbin/nginx -p /Applications/phpstudy/Extensions/Nginx1.16.1/
501 3214 3213 0 10:00上午 ?? 0:00.01 nginx: worker process
501 3215 3213 0 10:00上午 ?? 0:00.01 nginx: worker process
501 3216 3213 0 10:00上午 ?? 0:00.05 nginx: worker process
501 3217 3213 0 10:00上午 ?? 0:00.02 nginx: worker process
501 7114 6417 0 11:02上午 ttys001 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn nginx
/usr/local/etc/nginx »

03-31 03:43