前端开发通常用一个本地集成环境搭建简单的本地服务,但是有时候根据项目需求需要一个特殊的域名地址。
比如我在本目录下有好多个项目,每个项目都在浏览器的目录路径下访问即可,但是就有一个项目中路径都是相对路径,导致访问出错,那么需要设置一个单独的域名或者端口进行访问。
那么问题来了,我本地是xampp的集成环境,又没有nginx配置,所以要一步一步开始搭建。
1、下载nginx并配置
1 |
brew install nginx |
下载后在 /usr/local/etc/nginx/下有个nginx.conf,它是默认的配置文件,需要更改location里的root地址,我是改成了xampp的项目根文件夹地址,这样做不会对项目有任何影响,目的主要是为了保持跟xampp访问方法一致。里面还有一个设置 include servers/* 它的意思是在这个文件夹下,你可以设置更多的配置项。进入servers新建一个新的.conf文件,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
server { listen 8282; //设置端口 server_name admin.localjuzi.com; //设置域名 fastcgi_intercept_errors on; client_max_body_size 30m; location / { root /Applications/XAMPP/xamppfiles/htdocs/admin-juzi; //设置目录 index index.php index.html index.htm ; //设置默认文件 if (!-e $request_filename){ rewrite ^/(.*) /index.php?s=$1 last; } proxy_buffer_size 128k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; } location ~ \.php$ { //设置php运行的相关项 root /Applications/XAMPP/xamppfiles/htdocs/admin-juzi; fastcgi_pass 127.0.0.1:9000; //这个是php运行的端口和地址 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } |
新建启动nginx ,mac下通过brew安装的要进入到 /usr/local/Cellar/nginx,执行nginx就可以了,如果需要重启
1 2 3 4 5 6 7 8 9 |
ps -ef|grep nginx 查看进程 //501 64687 1 0 5:56下午 ?? 0:00.00 nginx: master process nginx //501 64688 64687 0 5:56下午 ?? 0:04.59 nginx: worker process //501 10869 63608 0 10:13上午 ttys003 0:00.06 vim nginx.conf //501 14260 64514 0 11:16上午 ttys004 0:00.00 grep nginx sudo kill 64687 //杀掉进程 nginx //运行进程(当然也有reload的方法,不用这么麻烦) |
2、在本地的host中添加这样的一个域名
进入 /private/etc/ 编辑 hosts,添加:
127.0.0.1 admin.localjuzi.com
保存即可
3、在nginx的配置中,有一个php的进程需要开启
1 |
fastcgi_pass 127.0.0.1:9000; |
进入目录:/Applications/XAMPP/xamppfiles/bin,执行
1 2 3 |
sudo ./php-cgi -b 127.0.0.1:9000 //或 sudo ./php-cgi -b 127.0.0.1:9000 & //后台执行 |
终端执行
1 2 |
netstat -ant // tcp4 0 0 127.0.0.1.9000 *.* LISTEN |
有这样一行数据,说明启动了新的php进程,在浏览器中打开:http://admin.localjuzi.com:8282/就能看到本地定义的域名内容了