Ubuntu配置Nginx及Nginx常用命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zyb2017/article/details/79174193

一 Nginx下载安装

1.1安装Nginx依赖库

Ubuntu下

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

CentOS下可使用yum安装

centos平台编译环境使用如下指令
安装make:
yum -y install gcc automake autoconf libtool make

安装g++:
yum install gcc gcc-c++  

1.2 安装pcre依赖库

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

1.3 安装zlib依赖库

apt-get install zlib1g-dev

1.4 安装ssl依赖库

apt-get install openssl

1.5安装Nginx

1.5.1下载Nginx 版本可自行选择

wget http://nginx.org/download/nginx-1.11.3.tar.gz

1.5.2 解压并配置编辑

#解压
tar -zxvf nginx-1.11.3.tar.gz
#进入目录
cd nginx-1.11.3
#配置
./configure --prefix=/usr/local/nginx 
#编辑
make

1.5.3 安装Nginx

sudo make install

二 配置nginx.conf

要跑的程序放在Nginx安装目录下的html文件夹里即可,也可在下面的nginx.conf中配置访问路径


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8081;           #安全组内端口,并且不和其他程序冲突
        server_name  111.11.111.111; #服务器公网ip

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #静态页面目录  默认为Nginx下的html文件夹  可配置成其他目录 绝对路径即可
        root    /usr/local/nginx/html;
#               
        #默认首页  上面root路径下的文件
        index      index.html;

#        location / {
            #用户浏览器端的缓存设置
#           location ~* \.(css|js|jpg|jpeg|gif|png|swf|html|htm|json|xml|svg|woff|xsl|xslx|doc|docx|zip|rar)$ {
#               expires 1h;
#               if (-f $request_filename){
#                   break;
#               }
#           }
#           if (!-e $request_filename){
#               proxy_pass http://127.0.0.1:8088;
#           }
#        
#        }
        #自定义丢失页面
        #error_page  404              /404.html;
        #自定义错误页面
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

三 常用命令

3.1 启动

# 绝对路径启动 例如下面/usr/local为Nginx的安装目录
/usr/local/nginx/sbin/nginx

#相对路径启动 进入Nginx安装目录下执行
./sbin/nginx 

3.2 停止

./sbin/nginx -s stop

./sbin/nginx -s quit

3.3 指定一个路径下的conf为Nginx的配置文件

./sbin/nginx -c /usr/local/nginx/conf/nginx.conf

3.4 重新加载配置文件

./sbin/nginx -s reload

3.5 查看Nginx进程

ps -ef|grep nginx

3.6 kill进程

# kill进程号
kill -9 进程号

# 一次Kill掉所有nginx进程
sudo killall nginx

3.7 查看是否被占用

netstat  -aon|findstr"80"

四 常见错误

4.1pid丢失

错误信息如下:

[root@yoodb.com ~]# /usr/local/nginx/sbin/nginx -s reload 
nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory) 

解决方案:

a.  Nginx安装目录下,找到 conf/nginx.conf.default 文件。
b.  打开文件找到 #pid logs/nginx.pid;  去除行首的#
c.  返回到sbin文件夹下  cd ../sbin/
d.  ./nginx -c /安装路径/conf/nginx.conf.default  #路径例如/usr/local
e.  cd ../logs/ && ll  #返回并查看  可以看到nginx.pid了

4.2 启动报错

错误信息 : 进程已存在

解决方案:ps -ef|grep nginx 检查后Kill掉进程

4.3 编辑

错误信息:

pcre.h No such file or directory

解决方案:

#安装libpcre3
sudo apt-get install libpcre3-dev

猜你喜欢

转载自blog.csdn.net/zyb2017/article/details/79174193