nginx 安装&命令

1. 安装nginx
   1.1 基于APT源安装
   1.2 通过YUM仓库安装
   1.3 通过源码包编译安装
2. nginx命令
3. 配置文件
4. 错误收集

Nginx主要功能有:

  • 反向代理
  • 负载均衡

1 安装Nginx

1.1 基于APT源安装

#ubuntu 14.04、ubuntu16.04、ubuntu 18.04
sudo apt-get update
sudo apt-get install nginx

安装好的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

官方源安装 ☆☆☆☆☆
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt install -y nginx

安装后,Nginx应自动启动,检查80端口是否正常
netstat -na | grep 80

1.2 通过YUM仓库安装

# centos 6.x、centos 7.x
# 配置yum仓库nginx源,参考链接:https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
# 需要替换链接中的 $releasever和$basearch,可通过命令获取rpm -qa | grep centos-release

[root@g2 ~]# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/x86_64/
gpgcheck=0
enabled=1
:wq

yum info nginx    #查看nginx 安装信息
yum install nginx #install
yum remove nginx  #卸载

#centos 7.x
systemctl start nginx.service  #启动nginx
systemctl enable nginx.service #设置为开机自启服务
#centos 6.x
service nginx start # 启动Nginx服务
service nginx stop  # 停止Nginx服务

#如果你在centos7.x下安装nginx并启动后无法ssh工具远程
#请关闭centos7.x防火墙及selinux

1.3 通过源码包编译安装

官网下载页面:http://nginx.org/en/download.html
Configure 配置文件详解:http://nginx.org/en/docs/configure.html

创建组 nginx

groupadd nginx

创建一个用户,不允许登录和不创主目录

useradd -s /sbin/nologin -g nginx -M nginx

安装gcc g++ 依赖库

ubuntu 平台可以使用如下命令:

sudo apt-get install build-essential 
sudo apt-get install libtool  

centos平台编译环境使用如下指令

yum install gc gcc gcc-c++ pcre-devel zlib-devel openssl-devel

安装pcre依赖库(http://www.pcre.org/)

#ubuntu
sudo apt-get update  
sudo apt-get install libpcre3 libpcre3-dev  
#centos
yum install pcre-devel

安装zlib依赖库(http://www.zlib.net

sudo apt-get install zlib1g-dev

安装SSL依赖库(ubuntu16.04默认已经安装了)

#ubuntu
sudo apt-get install openssl
#centos
yum install openssl-devel

安装nginx

#下载最新版本: 
wget http://nginx.org/download/nginx-1.17.1.tar.gz
#解压: 
tar -zxvf nginx-1.17.1.tar.gz  
#进入解压目录:  
cd nginx-1.17.1
#配置:  
	./configure --prefix=/usr/local/nginx  
	#启用ssl  
	./configure --user=nginx \
	     --group=nginx \
		 --prefix=/usr/local/nginx \
		 --with-http_stub_status_module \
		 --with-http_ssl_module \
		 --with-http_gzip_static_module

#编译参数解释:
	#指定运行权限的用户  
	--user=nginx  
	#指定运行的权限用户组  
	--group=nginx  
	#指定安装路径  
	--prefix=/usr/local/nginx  
	#支持nginx状态查询  
	--with-http_stub_status_module  
	#开启ssl支持  
	--with-http_ssl_module  
	#开启GZIP功能  
	--with-http_gzip_static_module
#编译 
sudo make
#安装 
sudo make install 
#启动: 
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf  
注意:-c 指定配置文件的路径,
     不加的话,nginx会自动加载默认路径的配置文件,
     可以通过-h查看帮助命令。  
#查看进程: 
ps -ef|grep nginx  

配置软连接

sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

现在就可以不用路径直接输入nginx启动。

配置开机启动服务

2 命令

启动nginx

cd /usr/local/nginx/sbin/ 
./nginx  

指定配置文件

./nginx -c /usr/local/nginx/conf/nginx.conf  
# -c 表示configuration ```  

停止nginx

./nginx -s stop  
./nginx -s quit  

-s 都是采用向nginx发送信号的方式。 signal

nginx 重新加载配置

./nginx -s reload  
./nginx -s reopen # 重启 Nginx  

查看nginx 版本

root@g:~# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
root@g:~# nginx -V
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.0g  2 Nov 2017
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-mcUg8N/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module
root@g:~# 

检查配置文件是否正确

root@g:/opt/nginx-1.13.12# nginx -t  
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok  
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful  

显示帮助信息

./nginx -h  
./nginx -?  

3 配置文件

/usr/local/nginx/conf/nginx.conf
可分为以下六块:

main  

events {  
 ....
}  

http {  
	.... 
	upstream myproject {
		..... 
	} 
	server  { 
		.... 
		location {
			.... 
		 }
	} 
	....
}

main(全局设置)、events(nginx工作模式)、http(http设置)、server(主机设置)、location(URL匹配)、upstream(负载均衡服务器设置)

启用SSL

#配置  
./configure --prefix=/usr/local/nginx \  
	 --with-http_stub_status_module \
     --with-http_ssl_module
#编译  
make  
#备份原有的已安装好了的nginx  
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bakup.20180517  
#将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)  
cp ./objs/nginx /usr/local/nginx/sbin/  
#启动nginx,仍可以通过命令查看是否已经加入成功  
/usr/local/nginx/sbin/nginx -V  

4 错误收集

错误一

./configure: error: SSL modules require the OpenSSL library.  
You can either do not enable the modules, or install the OpenSSL library  
into the system, or build the OpenSSL library statically from the source  
with nginx by using --with-openssl=<path> option.  

【Ubuntu解决办法】

apt-get install openssl  
apt-get install libssl-dev  
  • qq_43638135
    妲己再美究为妃: 博主没有想过自己接一些私活干吗?我现在还没毕业,但是我也确实听说外挂市场自动化游戏脚本市场挺火热的,并且报酬也很丰厚,但是具体的我也不是很清楚,求解答。 (1个月前 #47楼) 查看回复(2) 举报 回复
    22