场景
在日常开发任务中,我们常常会部署一套统一开发环境,以方便维护,常用的方案Vagrant、Docker、多用户共享同一开发机等。这篇文章主要记录一下多用户共享同一开发机的配置步骤。
多用户共享同一开发机的基本原理是,Nginx根据开发者本地IP确定用户身份,将站点root根目录定位到相应的代码目录下。
具体步骤:
以下步骤假定:
web服务器为Nginx;
站点根目录为/data/home/$dev_user/www
(可自行设置些目录);
保存IP与用户名对应的文件为ip2user.conf
;
- 在
nginx.cong
中加入一段代码
map $remote_addr $dev_user {
default default_user;
include ip2user.conf;
}
- 编写
ip2user.conf
文件,格式如下
#开发者本地IP 服务器上的各自的目录名
192.168.100.1 dev_user_1
192.168.100.2 dev_user_2
...
- 编写虚拟站点配置文件,如
a.com.conf
server
{
listen 80;
server_name domain.com;
root /data/home/$dev_user/www;
expires off;
index index.php;
access_log /logs/nginxLogs/domain.com.access.log;
error_log /logs/nginxLogs/domain.com.error.log;
location ~ .*\.php$
{
fastcgi_pass unix:/dev/shm/php.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_params SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}