FreeBSD如何安装配置Nginx服务器

时间:2019-11-20 08:54:01  来源:igfitidea点击:

nginx 是现在著名的HTTP服务器,反向代理和邮件代理服务器。
受欢迎程度甚至超过了apache。如何在基于FreeBSD的服务器上安装Nginx Web服务器?
如何在FreeBSD上安装Nginx Web服务器?

更新FreeBSD ports树

执行以下命令以更新FreeBSD树:

# portsnap fetch update

使用FreeBSD port安装Nginx

运行以下命令来安装Nginx Web服务器:

# cd /usr/ports/www/nginx/
# make install clean

根据需要选择重要的选项,例如REWRITE_MODULE,SSL_MODULE和其他选项。

使用pkg命令安装Nginx

或者使用二进制软件包进行安装:

# pkg install nginx

开启Nginx Web服务器服务

执行以下命令以打开Nginx服务器

# echo 'nginx_enable="YES"' >> /etc/rc.conf

或者

# sysrc nginx_enable="YES"
`nginx_enable: -> YES`

如何启动Nginx服务器?

启动Nginx:

# /usr/local/etc/rc.d/nginx start

或者

# service nginx start

如何停止Nginx服务器?

# /usr/local/etc/rc.d/nginx stop

或者

# service nginx stop

如何重启Nginx服务器?

# /usr/local/etc/rc.d/nginx restart

或者

# service nginx restart

如何在修改配置文件后重新加载Nginx服务器?

# /usr/local/etc/rc.d/nginx reload

或者

# service nginx reload

Nginx Web服务器配置信息

  • Nginx默认配置文件:/usr/local/etc/nginx/nginx.conf
  • Nginx默认http/https端口:80/443
  • Nginx默认错误日志文件:/var/log/nginx-error.log
  • Nginx默认访问日志文件:/var/log/nginx-access.log
  • Nginx默认DocumentRoot:/usr/local/www/nginx /
  • Nginx服务命令:service nginx (start|stop|restart|reload|configtest|upgrade|gracefulstop|status|poll)

测试nginx安装

使用浏览器打开 http://服务器ip

搭建nginx网站

创建一个目录用来存放站点的文件,比如html,css

# mkdir /var/www/html

为网站创建一个FreeBSD系统用户:

# pw user add -n apache -c 'My wiki user' -d /nonexistent -s /usr/sbin/nologin

锁定apache用户:

# pw lock apache

创建一个测试文件:

# vi /var/www/html/index.html

HTML代码如下:

<html>
<head>
</head>
<body>
	<h1>Hello Nginx</h1>
	<p>welcome to theitroad website</p>
	
</body>
</html>

设置站点目录的权限

# chown -R apache:apache /var/www/html/
# chmod -R 0555 /var/www/html/
# ls -ld /var/www/html/

为Nginx配置虚拟域(虚拟主机)

VirtualHost是Apache服务器术语。 Nginx没有虚拟主机的概念,而是具有使用server_name作为域或IP地址的服务器块的概念。

创建一个配置文件,如下所示:

# mkdir /usr/local/etc/nginx/vdomains/
# vi /usr/local/etc/nginx/vdomains/http.192.168.1.100.conf

文件内容如下:

server {
    server_name 192.168.1.100; # 虚拟ip或者域名
    access_log  /var/log/nginx/192.168.1.100.access.log;  # log files
    error_log  /var/log/nginx/192.168.1.100.error.log;
    root /var/www/html;  # root dir for this virtual host
    ## add more config below such as PHP and so on ##
}

更新nginx.conf:

# vi /usr/local/etc/nginx/nginx.conf

在final}之前添加以下内容:

include "vdomains/*.conf";

验证nginx配置并重新加载:

# nginx -t
# service nginx reload

测试配置:

浏览器打开 http://192.168.1.100/
192.168.1.100是我们上面设置的 server_name。