首先先上如何彻底删除nginx

看到这个标题的小伙伴都惊呆了,还不知道怎么搞,却叫我怎么卸载。为什么我要这样,其实,Reset也是一种解决问题的方式嘛。

首先执行下卸载命令

sudo apt-get --purge remove nginx
sudo apt-get autoremove
dpkg --get-selections | grep nginx
sudo apt-get --purge remove nginx-common

这样呢,就卸载了nginx包括配置文件了

在看看进程,执行

root@localhost:~# ps -ef | grep  nginx
root 3729 1 0 04:40 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 3731 3729 0 04:40 ? 00:00:00 nginx: worker process
root 4090 4041 0 05:40 pts/0 00:00:00 grep --color=auto nginx

干掉进程:

sudo kill nginx

查看残余文件

sudo find / -name nginx*
root@localhost:~# sudo find / -name nginx*
/sys/fs/cgroup/systemd/system.slice/nginx.service
/usr/sbin/nginx
/usr/share/doc/nginx-core
/usr/share/doc/nginx-common
/usr/share/doc/nginx
/usr/share/nginx
/usr/share/vim/addons/indent/nginx.vim
/usr/share/vim/addons/syntax/nginx.vim

手动删除文件

sudo rm -r /usr/.....

好了,现在干净了

安装 nginx

sudo apt-get install nginx

查看 nginx 版本

nginx -v #查看详细 nginx -V

启动nginx

sudo /etc/init.d/nginx start

接下来访问:http://localhost 就可以看到nginx的欢迎页面了

Nginx 配置

nginx配置文件位置是 /etc/nginx/nginx.conf默认是下面这样的:


root@localhost:~# vi /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid; events {
worker_connections 768;
# multi_accept on;
} http { ##
# Basic Settings
## sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off; # server_names_hash_bucket_size 64;
# server_name_in_redirect off; include /etc/nginx/mime.types;
default_type application/octet-stream; ##
# SSL Settings
## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on; ##
# Logging Settings
## access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; ##
# Gzip Settings
## gzip on;
gzip_disable "msie6"; # gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
## include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
} #mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}

重点是这个 include /etc/nginx/conf.d/.conf;include /etc/nginx/sites-enabled/;

这样呢,就可以在conf.d文件夹下建立我们自己的配置了,下面是个栗子!

root@localhost:~# cd /etc/nginx/conf.d/
root@localhost:/etc/nginx/conf.d# ls
blog.voidoop.com.conf www.voidoop.com.conf

我这里配置了两个域名的转发规则,以首页www.voidoop.com为例:

server
{
listen 80;
server_name www.voidoop.com; location /
{
proxy_set_header Host $http_host;
proxy_set_header X-Forward-For $remote_addr;
proxy_pass http://www.voidoop.com:3000;
} location ~ .*\.(gif|jpg|js|css|html)$
{
root /var/www/hello/public/;
expires 30d;
}
}

因为 express的默认端口是3000,所以,不想去改变他,就用nginx转发。

修改配置之后,重启nginx

/etc/init.d/nginx restart

最后叨叨location的匹配规则

(1)= 前缀的指令严格匹配这个查询。如果找到,停止搜索。

(2)剩下的常规字符串,最长的匹配优先使用。如果这个匹配使用 ^~ 前缀,搜索停止。

(3)正则表达式,按配置文件里的顺序,第一个匹配的被使用。

(4)如果第三步产生匹配,则使用这个结果。否则使用第二步的匹配结果。

在location中可以使用常规字符串和正则表达式。

如果使用正则表达式,你必须使用以下规则:

   (1)~* 前缀选择不区分大小写的匹配

   (2)~  选择区分大小写的匹配

一切不注明转载源都是耍流氓: http://zhutty.cnblogs.com

[原创]# 玩转nginx系列的更多相关文章

  1. [Linux] PHP程序员玩转Linux系列-nginx初学者引导

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  2. [Linux] PHP程序员玩转Linux系列-Linux和Windows安装nginx

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  3. [Linux] PHP程序员玩转Linux系列-Nginx中的HTTPS

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  4. [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行 ...

  5. [Linux] PHP程序员玩转Linux系列-使用supervisor实现守护进程

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  6. [Linux] PHP程序员玩转Linux系列-telnet轻松使用邮箱

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  7. [Linux] PHP程序员玩转Linux系列-升级PHP到PHP7

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  8. [Linux] PHP程序员玩转Linux系列-腾讯云硬盘扩容挂载

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 4.PHP程序员玩转L ...

  9. [Linux] PHP程序员玩转Linux系列-Ubuntu配置SVN服务器并搭配域名

    在线上部署网站的时候,大部分人是使用ftp,这样的方式很不方便,现在我要在线上安装上SVN的服务器,直接使用svn部署网站.因为搜盘子的服务器是ubuntu,因此下面的步骤是基于ubuntu的. 安装 ...

随机推荐

  1. mysql sql语句分析

    1. SELECT     a.id    ,b.order_id,b.attr  FROM    tourist_order a     LEFT JOIN order_attr b     ON ...

  2. 问题: Type mismatch in key from map: expected org.apache.hadoop.io.Text, recieved org.apache.hadoop.io.LongWritable 解决方案

    在Job中添加相应的输入类型,例如: job.setMapOutputKeyClass(Text.class); job.setMapOutputValueClass(IntWritable.clas ...

  3. 系统管理中 bash shell 脚本常用方法总结

    在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则 1. 单引号和双引号的区别 单引 ...

  4. pt-query-digest 安装及使用

    打个草稿 介绍:pt-query-digest 可用于mysql的慢查询的日志分析,分析统计出每种慢查询的基本信息,如响应时间.最大执行时间.最小执行时间.执行时间的中位数等.(当然不只是这个功能) ...

  5. Mysql 视图笔记

    1.       视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使 ...

  6. MapReduce UnitTest

    通常情况下,我们需要用小数据集来单元测试我们写好的map函数和reduce函数.而一般我们可以使用Mockito框架来模拟OutputCollector对象(Hadoop版本号小于0.20.0)和Co ...

  7. mysql 5.5 升级到 mysql 5.6

    目前MySQL数据库软件升级到5..26版本,主要有两种方法.一种是停机升级,即在现有环境下先停止数据库,然后升级数据库软件版本和数据库版本:另外一种是采用不停机的主从升级(master--slave ...

  8. javascript时钟

    <script language="JavaScript" type="text/javascript">         function now ...

  9. 简单代码JS随机,数组操作,延时执行

    <script language="javascript"> var str="baidu.com,163.com,sohu.com,kankan.com,1 ...

  10. 【创建型】Builder模式

    生成器模式的主要思想:将产品对象的创建与表现分离开,并且同样的创建过程可以有不同的产品表现. 直白一点可以理解为:待创建的对象是复杂的,一般情况下是需要经过多个步骤的创建后,最终才能将完整产品创建好, ...