Atitit. 查找linux 项目源码位置

1. 查找占用80端口进程pid 。。。netstat   -anp |grep 801

1.1. 列出进程启动位置     ls -l /proc/112682

1.2. 1.3 启动关闭nginx3

1.3. 找到nginx配置文件4

1.4. ./etc/nginx/nginx.conf4

1.5. etc/nginx/conf.d/eform.conf;5

2. Nginx的php安装原理6

2.1. /$ find . -name ‘php.ini‘7

2.2. 寻找apache配置文件路径7

1. 查找占用80端口进程pid 。。。netstat   -anp |grep 80 

/etc$  netstat   -anp |grep 80

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11268/nginx: master

tcp        0      0 101.200.12.187:80       175.4.154.150:51114     ESTABLISHED 11270/nginx: worker

tcp        0      0 101.200.12.187:80       175.4.154.150:51120     ESTABLISHED 11270/nginx: worker

tcp        0      0 101.200.12.187:80       175.4.154.150:51119     ESTABLISHED 11270/nginx: worker

tcp        0      0 101.200.12.187:80       175.4.154.150:51117     ESTABLISHED 11270/nginx: worker

tcp        0      0 101.200.12.187:50402    140.205.140.205:80      ESTABLISHED 30075/AliYunDun

tcp        0      0 101.200.12.187:80       175.4.154.150:51116     ESTABLISHED 11270/nginx: worker

tcp        0      0 101.200.12.187:80       175.4.154.150:51118     ESTABLISHED 11270/nginx: worker

unix  3      [ ]         DGRAM                    9980     366/systemd-udevd

unix  2      [ ]         DGRAM                    9806     1/systemd

在linux下使用top命令可以查看进程,但是单从文件名无法定位到进程的位置。

有如下两种方法:

(1)获取进程的pid,然后使用命令ls -l /proc/${pid},这个命令可以列出该进程的启动位置。

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

ls -l /proc/11268

(2)/usr/sbin/lsof | grep ${进程名称} 这个命令也能列出进程的启动位置。

1.1. 列出进程启动位置     ls -l /proc/11268    

到/proc/4431下,ls -l 会看到(需要root权限)

这样就知道是哪种webserver了。。

/etc$ ls -l /proc/11268

total 0

dr-xr-xr-x 2 root root 0 Apr 29 23:36 attr

-rw-r--r-- 1 root root 0 Apr 29 23:44 autogroup

-r-------- 1 root root 0 Apr 29 23:44 auxv

-r--r--r-- 1 root root 0 Apr 29 23:44 cgroup

--w------- 1 root root 0 Apr 29 23:44 clear_refs

-r--r--r-- 1 root root 0 Apr 28 16:08 cmdline

-rw-r--r-- 1 root root 0 Apr 29 23:44 comm

-rw-r--r-- 1 root root 0 Apr 29 23:44 coredump_filter

-r--r--r-- 1 root root 0 Apr 29 23:44 cpuset

lrwxrwxrwx 1 root root 0 Apr 29 23:44 cwd -> /

-r-------- 1 root root 0 Apr 29 23:44 environ

lrwxrwxrwx 1 root root 0 Apr 28 15:30 exe -> /usr/sbin/nginx

dr-x------ 2 root root 0 Apr 29 23:36 fd

dr-x------ 2 root root 0 Apr 29 23:44 fdinfo

-rw-r--r-- 1 root root 0 Apr 29 23:44 gid_map

-r-------- 1 root root 0 Apr 29 23:44 io

-r--r--r-- 1 root root 0 Apr 29 23:44 limits

-rw-r--r-- 1 root root 0 Apr 29 23:44 loginuid

-r--r--r-- 1 root root 0 Apr 29 23:44 maps

-rw------- 1 root root 0 Apr 29 23:44 mem

-r--r--r-- 1 root root 0 Apr 29 23:44 mountinfo

-r--r--r-- 1 root root 0 Apr 29 23:44 mounts

-r-------- 1 root root 0 Apr 29 23:44 mountstats

dr-xr-xr-x 5 root root 0 Apr 29 23:44 net

dr-x--x--x 2 root root 0 Apr 29 23:44 ns

-r--r--r-- 1 root root 0 Apr 29 23:44 numa_maps

-rw-r--r-- 1 root root 0 Apr 29 23:44 oom_adj

-r--r--r-- 1 root root 0 Apr 29 23:44 oom_score

-rw-r--r-- 1 root root 0 Apr 29 23:44 oom_score_adj

-r--r--r-- 1 root root 0 Apr 29 23:44 pagemap

-r--r--r-- 1 root root 0 Apr 29 23:44 personality

-rw-r--r-- 1 root root 0 Apr 29 23:44 projid_map

lrwxrwxrwx 1 root root 0 Apr 29 23:44 root -> /

-rw-r--r-- 1 root root 0 Apr 29 23:44 sched

-r--r--r-- 1 root root 0 Apr 29 23:44 sessionid

-r--r--r-- 1 root root 0 Apr 29 23:44 smaps

-r--r--r-- 1 root root 0 Apr 29 23:44 stack

-r--r--r-- 1 root root 0 Apr 28 15:12 stat

-r--r--r-- 1 root root 0 Apr 29 23:44 statm

-r--r--r-- 1 root root 0 Apr 28 16:08 status

-r--r--r-- 1 root root 0 Apr 29 23:44 syscall

dr-xr-xr-x 3 root root 0 Apr 29 23:44 task

-rw-r--r-- 1 root root 0 Apr 29 23:44 uid_map

-r--r--r-- 1 root root 0 Apr 29 23:44 wchan

1.2. 1.3 启动关闭nginx

全选复制放进笔记

## 检查配置文件是否正确# /usr/local/nginx-1.6/sbin/nginx -t # ./sbin/nginx -V     # 可以看到编译选项

## 启动、关闭# ./sbin/nginx        # 默认配置文件 conf/nginx.conf,-c 指定# ./sbin/nginx -s stop

或 pkill nginx

## 重启,不会改变启动时指定的配置文件# ./sbin/nginx -s reload

或 kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`

当然也可以将 nginx 作为系统服务管理,下载 nginx 到/etc/init.d/,修改里面的路径然后赋予可执行权限。

# service nginx {start|stop|status|restart|reload|configtest}

1.3. 找到nginx配置文件

网上说路径在这里,没有找到,使用搜索命令find找到。。

8.修改配置文件

cd /usr/local/nginx/conf

vi nginx.conf

/usr/local$ cd /

/$  find . -name ‘nginx.conf‘

./etc/nginx/nginx.conf

find . -name ‘fcgi.conf‘

1.4. ./etc/nginx/nginx.conf

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  /var/log/nginx/access.log  main;

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 300m;

sendfile        on;

tcp_nopush     on;

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 128k;

keepalive_timeout  60;

tcp_nodelay on;

server_tokens off;

gzip  on;

gzip_min_length  1k;

gzip_buffers     4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_types       text/plain application/x-javascript text/css application/xml;

gzip_vary on;

include /etc/nginx/conf.d/*.conf;

}

1.5. etc/nginx/conf.d/eform.conf;

server {

listen 80;

server_name  qinbd.com www.qinbd.com;

root /mnt/www/eform/public;

index index.php index.html index.htm;

charset utf-8;

location / {

#laravel加入

try_files $uri $uri/ /index.php?$query_string;

}

location = /robots.txt { allow all; access_log off; log_not_found off; }

location = /favicon.ico { allow all; access_log off; log_not_found off; }

error_page 401 /401.html;

error_page 403 /403.html;

error_page 404 /404.html;

error_page 500 502 503 504 /50x.html;

location ~ \.php$ {

root           /mnt/www/eform/public;

#sock开启

fastcgi_pass    unix:/var/run/php5-fpm.sock;

#TCP开启

#fastcgi_pass   127.0.0.1:9000;

fastcgi_index   index.php;

#写入上一步自己创建fast-cgi的配置文件路径

include         fcgi.conf;

include         fastcgi_params;

}

# deny access to .htaccess files, if Apache‘s document root

# concurs with nginx‘s one

location ~ /\.ht {

#deny  all;

}

}

/$  find . -name ‘fcgi.conf‘

./etc/nginx/fcgi.conf

find . -name “php.ini”

2. Nginx的php安装原理

针对Nginx的php安装和针对apache的php安装是有区别的,因为Nginx中的php是以fastcgi的方式结合nginx的,可以理解为nginx代理了php的fastcgi,而apache是把php作为自己的模块来调用

/etc/nginx$ netstat   -anp  |grep php

unix  2      [ ACC ]     STREAM     LISTENING     14495    1068/php-fpm: maste  /var/run/php5-fpm.sock

unix  3      [ ]         STREAM     CONNECTED     14493    1068/php-fpm: maste

unix  3      [ ]         STREAM     CONNECTED     14494    1068/php-fpm: maste

2.1. /$ find . -name ‘php.ini‘

./etc/php.ini

du -sh   /mnt/www/eform/public

/$ du -sh   /mnt/www/eform/public

3.4G/mnt/www/eform/public

/$ du -sh   /mnt/www/eform/

3.6G/mnt/www/eform/

/$ du -sh   /mnt/www/

3.6G/mnt/www/

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

2.2. 寻找apache配置文件路径

[email protected]:~# cd /

[email protected]:/# find -name ‘httpd.conf‘

./root/sh-1.5.0-Ubuntu-14.04/apache/config-httpd/config-httpd-2.2.22/httpd.conf

./root/sh-1.5.0-Ubuntu-14.04/httpd-2.2.29/docs/conf/httpd.conf

./alidata/server/httpd-5/conf/original/httpd.conf

./alidata/server/httpd-5/conf/httpd.conf

./alidata/server/httpd-2/conf/original/httpd.conf

./alidata/server/httpd-2/conf/httpd.conf

./alidata/server/httpd-4/conf/original/httpd.conf

./alidata/server/httpd-4/conf/httpd.conf

./alidata/server/httpd-6/conf/original/httpd.conf

./alidata/server/httpd-6/conf/httpd.conf

./alidata/server/httpd-3/conf/original/httpd.conf

./alidata/server/httpd-3/conf/httpd.conf

01:50 exe -> /alidata/server/httpd-4/bin/httpd

得到apache的运行版本,然后确认配置文件是在。。可以修改测测。。

./root/sh-1.5.0-Ubuntu-14.04/apache/config-httpd/config-httpd-2.2.22/httpd.conf

时间: 2024-10-29 19:05:35

Atitit. 查找linux 项目源码位置的相关文章

2016年最牛逼的分类Android项目源码免费一次性打包下载!

之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年开始不断整理源码区和其他网站上的安卓例子源码,目前总共有810套左右,根据实现的功能被我分成了100多个类,总共接近2.5G,还在不断更新.初学者可以快速方便的找到自己想要的例子,大神也可以看一下别人的方法实现.虽然的例子都是我一个人辛辛苦苦花了很多时间和精力整理的,但是既然这些例子是来自于社区那就让他们免费回归社区吧,(是的!特么的不要一分钱!最看不起那些挂羊头卖狗的)你可以在本帖里面按Ctrl+F查找你需要的关键字,

Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 【转】

原文地址:Linux内核源码分析--内核启动之(3)Image内核启动(C语言部分)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938390.html 在构架相关的汇编代码运行完之后,程序跳入了构架无关的内核C语言代码:init/main.c中的start_kernel函数,在这个函数中Linux内核开始真正进入初始化阶段, 下面我就顺这代码逐个函数的解释,但是这里并不会过于深入

Linux内核源码分析方法

  一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写.编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内.如果要扩展自己知识的广度,我们需要多接触其他人编写的代码,尤其是水平比我们更高的人编写的代码.通过这种途径,我们可以跳出自己知识圈的束缚,进入他人的知识圈,了解更多甚至我们一

SourceInsight 精确导入Linux kernel源码的方法

相信有很多人用 SourceInsight 查看 Linux Kernel 源码,但导入源码时会遇到一些问题.1.如果把整个源码树都导入进去,查看符号定义的时候,会发现有大量重复定义,很难找到正确的位置2.如果手动导入只和该硬件平台相关的源码,工作量太大本帖提供了一个方法,可用脚本生成只和该硬件平台相关的源码的文件列表,然后通过该文件列表,将相应文件导入 SourceInsight .以下是步骤,共4步:1.新建 SourceInsight 项目     先不要导入文件,停在如下界面:    

Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】

原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.chinaunix.net/uid-25909619-id-4938393.html 在分析start_kernel函数的时候,其中有构架相关的初始化函数setup_arch. 此函数根据构架而异,对于ARM构架的详细分析如下: void __init setup_arch(char **cmdlin

分享封装好的异步Mysql动态的库(DyNetMysql.dll) + 项目源码

在做C++项目时,经常会用到Mysql数据库,Mysql接口提供给我们的数据是相当原始的,如:字段名.字段类型,字段长度等等,一般情况我们都想一种更方便获得数据 如: XXXStruct* pRecourdInfo = (const XXXStruct*)(mysql获得的数据指针); 直接转换字段对应的结构来,这样能大大方便我们使用 这个功能已经在我之前发表上一篇文章<<分享一直在维护简单实用高效的C++Socket框架Swa-server(开源+源码)>>中实现,现在是将它封装

Linux下源码安装Mysql5.5

本文主要介绍了如何在源码安装mysql5.5,所用系统为CentOS6.5 一.安装相应的开发环境 yum install -y ncurses-devel yum install -y libaio yum install -y bison yum install -y gcc-c++ yum install -y openssl-devel 二.安装cmake 跨平台编译器 # tar xf cmake-2.8.8.tar.gz # cd cmake-2.8.8 # ./bootstrap

linux下源码搭建php环境之mysql(一)

现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主要介绍linux操作系统下MySQL源码进行纯手动安装,如果你对linux操作系统下MySQL源码进行纯手动安装的实际操作流程感兴趣的话,你不妨浏览以下的文章. 1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar

SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载

SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载 这篇博文我们通过spring与Mybatis集成,开发一个简单用户增删改查的Web项目. 基本准备工作 1.安装JDK1.6以上版本,安装与配置 2.下载mybatis-3.2.0版:https://repo1.maven.org/maven2/org/mybatis/mybatis/ 3.下载mybatis-spring-1.2.1版:https://repo1.maven.org/maven2/org/m