apache+nginx基本配置,apachenginx


apache基本配置

在Ubuntu的apache的配置文件是 /etc/apache2/apache2.conf,apache在启动时会自动读取这个文件的配置信息。而其他的一些配置文件,则是通过Include加载的。

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include list of ports to listen on
Include ports.conf

......

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

ports.conf,用于设置Apache监听的端口。

Listen 80
Listen 8080

虚拟主机配置
/etc/apache2/sites-enabled/test.conf

# 设置虚拟主机
<VirtualHost *:80>
    # 网站名称
    ServerName www.test.com
    # 如果有多个网站名称,可以加在ServerAlias后加上其他网站别名。
    # 别名间以空格隔开。
    ServerAlias www.test.com test.com

    ServerAdmin webmaster@localhost
    #网站根目录
    DocumentRoot /var/www/html
    #网站首页面
    DirectoryIndex index.php      
    #目录权限设置   
    <Directory /mnt/workspace/web/wordblog/>
          Options Indexes FollowSymLinks
          #忽略.htaccess
          AllowOverride None
          #允许所有请求访问资源
          Require all granted
    </Directory>

    ......
</VirtualHost>

当用ls 查看sites-enabled目录时,发现存放的是指向sites-available目录文件的符号链接。所以 /etc/apache2/sites-available目录内才是真正的配置文件。

这样的好处是:
如果apache上配置了多个虚拟主机,每个虚拟主机的配置文件都放在 sites-available下,那么对于虚拟主机的停用、启用就非常方便了。当在sites-enabled下建立一个指向某个虚拟主机配置文件的链接时,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,就不需要去改配置文件了。

启用配置
sudo ln -s /etc/apache2/sites-available/test.conf /etc/apache2/sites-enabled/test.conf

重启apache
sudo /etc/init.d/apache2 restart

nginx基本配置

nginx的配置在/etc/nginx/nginx.conf,也是使用include包含了服务器的配置信息。

http{
    ......
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    ......
}

nginx和apache配置文件的目录结构几乎一样,sites-enabled和sites-available目录。

反向代理
/etc/nginx/sites-enabled/test.conf

#反向代理
upstream backend_http {
    #ip_hash;
    server 192.168.1.100:8089;
    server 127.0.0.1:8089;
}
server {
        listen 80 default_server;
        listen [::]:80 default_server;
        #网站的根目录
        root /var/www/html;
        #网站默认页面
        index index.html index.php;
        #网站名称
        server_name www.test.com;

        location ~ \.php$ {
            #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
            proxy_set_header Host $host;                    
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

             #禁用缓存
             proxy_buffering off;
             #反向代理的地址
             proxy_pass http://backend_http;     
        }
}

同apache一样,如果需要在nginx上配置多个虚拟主机,在 sites-available下创建配置文件。在sites-enabled下建立一个指向某个虚拟主机配置文件的链接,就启用了它;如果要关闭某个虚拟主机的话,只需删除相应的链接即可,就不需要去改配置文件了。

重启nginx
sudo /etc/init.d/nginx restart

相关内容

    暂无相关文章