欢迎,来自IP地址为:44.201.97.138 的朋友
FreeBSD是一款开源的类Unix操作系统,由于其优异的网络性能被广大企业用户所采用。同Linux系统不同的是,FreeBSD是一款完全意义上的操作系统,拥有独立的内核和相应的应用软件。经过权威测试发现,Linux系统在桌面应用表现出色,而FreeBSD更加适合用于服务器应用。
本教程将详细演示如何在FreeBSD系统安装Nginx、MariaDB和PHP软件搭建FEMP环境,其中FreeBSD采用最新的发行版 11.x 版。
步骤1 FreeBSD安装Nginx
FEMP环境最先安装的就是web服务器,这里采用性能卓越的Nginx。在FreeBSD 11.x的PORTS软件库中有众多Nginx的预编译软件包,我们可以从PORTS软件库中方便得到Nginx的二进制版本。使用如下命令查看PORTS软件库的Nginx信息:
# ls /usr/ports/www/ | grep nginx # pkg search -o nginx
可以看到,PORTS软件库中包含有Nginx的预编译版本,于是可以使用以下命令进行安装:
# pkg install nginx
命令执行后,系统会询问是否安装Nginx,输入”y”后进行安装:
Nginx安装成功后,使用如下命令将Nginx守护进程设置为开机启动,并将Nginx服务器启动。
# sysrc nginx_enable="yes" # service nginx start
web服务器启动之后,就可以使用以下命令查看Nginx侦听的端口:
# sockstat -4 | grep nginx
可以看到,Nginx进程已经侦听了80端口。现在就可以通过浏览器访问VPS的地址或者访问相应的域名,来验证Nginx是否正确启动,当看到如下页面时,就表示Nginx已经在FreeBSD系统安装成功,这里我已经给VPS预先设置好域名”my.daehub.com”:
FreeBSD预编译Nginx默认的webroot目录为”/usr/local/www/nginx/”,而默认的配置文件路径为”/usr/local/etc/nginx/nginx.conf”,配置Nginx的方式同其它系统类似。
由于之前使用的都是CentOS系统,所以比较习惯将Ningx的http配置同虚拟服务器分离的方式,并且习惯将用户设置为nginx,以提升安全性。修改”nginx.conf”配置文件为如下内容:
user nginx; worker_processes 1; # This default error log path is compiled-in to make sure configuration parsing # errors are logged somewhere, especially during unattended boot when stderr # isn't normally logged anywhere. This path will be touched on every nginx # start regardless of error log location configured here. See # https://trac.nginx.org/nginx/ticket/147 for more info. # error_log /var/log/nginx/error.log; # pid /var/run/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; client_max_body_size 20m; include /usr/local/etc/nginx/conf.d/*.conf; }
为了保证Nginx可以按以上的配置正常运行,需要做如下准备工作:
# pw groupadd nginx # pw useradd -n nginx -g nginx -m -s /bin/nologin # touch /var/log/nginx/error.log # touch /var/run/nginx.pid # touch /var/log/nginx/access.log
然后就创建相应目录和”server”配置块:
# mkdir /usr/local/etc/nginx/conf.d # touch /usr/local/etc/nginx/conf.d/default.conf
之后就可以编辑”default.conf”为如下内容来创建一个虚拟服务器:
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/local/www/nginx; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } }
之后,如果需要添加虚拟服务器,则在此目录中添加配置文件即可。
步骤2 FreeBSD安装MariaDB
MariaDB/MySQL是最为常用的开源关系型数据库管理系统,通常部署于动态网站同Nginx配合使用。这么出名的数据库FreeBSD怎么可以没有呢,查看PORTS软件库,可以找到很多 MariaDB/MySQL 的发行版。
# ls -al /usr/ports/databases/ | grep mariadb # pkg search mariadb
之后就可以使用如下命令安装MariaDB的最新发行版:
# pkg install mariadb102-server
安装完成后,使用如下命令将MariaDB设置成为开机自启动,并进行相关安全配置:
# sysrc mysql_enable="YES" # service mysql-server start # /usr/local/bin/mysql_secure_installation
运行完第三条命令后,可以根据提示设置”root”用户密码、删除匿名用户、删除”test数据库”以及关闭”root”用户远程访问权限,最后重新载入权限表令设置生效。
验证MaraiaDB启动成功也很容易,直接使用如下命令登录一下数据库就可以了,登录成功的话就查看一下当前的数据库:
# mysql -u root -p MariaDB [(none)]>SHOW DATABASES;
示意图如下:
步骤3 FreeBSD安装PHP及扩展
FressBSD系统安装PHP可以采用PORTS软件库方式,也可以采用源代码方式安装。源代码方式安装PHP同Linux平台下安装类似,可以安装最新的PHP版本,并且可以个性化配置,这里演示如何采用源代码方式安装PHP 7。
PHP目前主流分为5系和7系两个系列,虽然7系列号称性能是5系列的数倍,但是5系还占有很大的份额。选择FreeBSD平台就是为了网络服务性能,所以当然选择PHP 7系列作为网站平台。
首先下载PHP 7.2.7的压缩包,然后进行源代码安装:
# wget http://am1.php.net/distributions/php-7.2.7.tar.gz # tar -zxvf php-7.2.7.tar.gz # cd php-7.2.7 # ./configure --enable-fpm --with-zlib --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock # make && make install # cp php.ini-development /usr/local/php/php.ini # cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf # cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf # cp sapi/fpm/php-fpm /usr/local/bin
注意将php-fpm.conf
中”include=NONE/etc/php-fpm.d/*.conf”修改为”include=/usr/local/etc/php-fpm.d/*.conf”,并将www.conf
中的内容进行如下修改:
user = nginx group = nginx
如果”php-fpm”可以正常启动的话,就表示PHP安装成功了。现在要做的当然就是配置Nginx,令其支持PHP,这些内容同Linux系统区别不大,可以参照之前的文章《腾讯VPS搭建LNMP系统部署WordPress网站》进行相关配置。
一切配置完成后,就可以在虚拟服务器的根目录创建一个phpinfo.php文件,通过浏览器来访问看PHP是否同Nginx协同工作。一切正常的话会显示如下页面:
至此,FEMP环境就搭建完成了。当然,搭建完成后还需要做很多优化,比如安装PHP扩展、管理数据库账户以及向Nginx添加更多网站等。这些操作这里就不再过多讲解,因为主要操作同Linux系统没有区别。