如果要新添加一个站点,首先需要确定的是后台执行程序,是PHP还是nodejs还是python等。然后如果是nodejs等,就是用nginx做反向代理,让请求程序通过转发处理,比如:
upstream django { server 127.0.0.1:9999; keepalive 2000; } server{ listen 80; server_name www.wrlod.com wrlod.com; rewrite ^(.*) https://www.wrlod.com$1 permanent; location /{ proxy_pass http://django; } #return 301 https://www.wrlod.com$request_uri; }
我们通过配置upstream来设置上游处理程序为django这里的名字随意命名,主要是通过127.0.0.1:9999这个端口进行处理相应,所以我们后台的程序需要监听9999这个端口。
类似的,如果后台程序是php也是一样,通过php-fpm进行代理设置,让php-fpm监听一个端口,或者一个进程如下php-fpm.conf:
[global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log log_level = notice [www] listen = /tmp/php-cgi.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 listen.owner = www listen.group = www listen.mode = 0666 user = www group = www pm = ondemand pm.max_children = 8 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 8 pm.process_idle_timeout = 10s request_terminate_timeout = 100 request_slowlog_timeout = 0 slowlog = var/log/slow.log php_flag[display_errors] = on ~
其中的listen可以设置具体的端口,也可以设置成这样监听/tmp/php-cgi.sock这样。如果有多个版本的php,我们可以让php监听不同的端口,然后让nginx进行不同端口的转发。
下面说下添加一个新站点的步骤:
-
确定域名
-
绑定域名和ip
-
确认后台处理程序
-
设置nginx,将域名和端口号进行绑定,交给后台处理程序。
-
后台处理程序绑定项目目录和入口文件。
-
重启nginx
经过上面的步骤,就可以创建成功一个新站点。