在一台服务器上部署4个网站,WEB服务器采用nginx和apache
nginx作为80端口的主web服务器,反向代理后端的apache web服务器,apache WEB服务器采用多端口运行,如8070,9999.
首先服务器上要安装好LAMP和LNMP环境,也就是在nginx和apache下两个phpinfo页面要可以正常的显示出来。
测试服务器:树莓派3B+
四个网站:
alexpeng.cc nginx
alexpeng.net nginx
myblog.com apache
viaucc.com apache
下面是第一个网站alexpeng.cc,部署在nginx下面
nginx的配置文件
cd /etc/nginx/conf.d/
sudo nano alexpeng-cc.conf
server { #定义网站端口,域名,根目录,文件最大上传限制,时间限制,index文件 listen 80; server_name alexpeng.cc www.alexpeng.cc; root /usr/share/nginx/alexpeng; client_max_body_size 300m; client_body_timeout 120; location / { index index.html index.htm index.php default.html default.htm default.php; } #开启php支持 location ~\.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #开启re_write模块,也就是伪静态 if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }
检查配置文件
sudo nginx -t
重启
sudo nginx -s reload
第二个网站的alexpeng.net也是部署在nginx下面
nginx配置文件
server { #定义网站端口,域名,根目录,文件最大上传限制,时间限制,index文件 listen 80; server_name alexpeng.net www.alexpeng.net; root /usr/share/nginx/html; client_max_body_size 300m; client_body_timeout 120; location / { index index.html index.htm index.php default.html default.htm default.php; } #开启php支持 location ~\.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
测试一下两个网站是否都能正常访问,OK了就开始配置apache
先更改apache的端口为除80外的其他端口,否则nginx和apache不能同时运行。
cd /etc/apache2/
sudo nano ports.conf
#Listen 80 Listen 8070 Listen 9999
第三个网站myblog.com部署在apache下面,端口号8070,配置文件如下
sudo nano /etc/apache2/sites-available/myblog.conf
<VirtualHost *:8070> #<VirtualHost *:80> ServerName www.myblog.com ServerAlias blog.com DocumentRoot /var/www/html/myblog </VirtualHost> <Directory /var/www/html/myblog> AllowOverride All Require all granted </Directory>
第四个网站viaucc.com也是一样的,端口号9999
<VirtualHost *:9999> #<VirtualHost *:80> ServerName www.viaucc.com ServerAlias viaucc.com DocumentRoot /var/www/html/viaucc </VirtualHost> <Directory /var/www/html/viaucc> AllowOverride All Require all granted </Directory>
开启这两个站点
sudo a2ensite myblog.conf
sudo a2ensite viaucc.com
sudo systemct reload apache2
在浏览器输入域名+端口好访问,两个都访问成功的话就到了最后一步。
配置nginx反代
cd /etc/nginx/conf.d/
sudo nano proxy.conf
server { listen 80; server_name jiankong.com www.jiankong.com; location / { proxy_pass http://localhost:8090; index index.html index.htm; } } server { listen 80; server_name myblog.com www.myblog.com; index index.html index.htm index.php; root /var/www/html/myblog; location / { proxy_pass http://localhost:8070; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name viaucc.com www.viaucc.com; index index.html index.htm index.php; root /var/www/html/viaucc; location / { proxy_pass http://localhost:9999; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
sudo nginx -t
sudo nginx -s reload
至此,一台服务器部署四个网站就结束了。
发表评论