目前我们如果用云服务器建站一般是用Apache,还是用Nginx呢?对于两者之间其实各有优缺点。根据我们实际的项目需求,以及自己的习惯都是可以选择的。根据网络的一些说法,Nginx具有这些优势。Nginx在WEB引擎服务器中,算是支持并发较高和支持较高流量负载的,相比Apache,NGINX消耗更少的RAM和CPU,NGINX通过支持内置缓存系统来提高网站性能,以便更快地访问网站静态内容,如图像,CSS,JavaScript等。
在这篇文章中,老左看到LEB上有一篇文章是将原本已有的APACHE环境更换成NGINX的。这个只是提出来的一个方法思路,其实如果真要解决的话我们完全可以重新部署成NGINX,这样反而简单和安全。这里记录下来,只是看看实际的操作过程。
第一、Apache与Nginx区别
这些是Apache和NGINX之间的主要区别是:
1、Apache和NGINX的主要配置文件分别位于/etc/apache2/apache2.conf和/etc/nginx/nginx.conf。
2、NGINX和Apache都使用相同的默认根目录/ var / www / html。
3、NGINX具有内置缓存系统,但Apache没有任何内置缓存系统。
在这篇文章中,使用的是Ubuntu 18.04系统,1GB内存。
第二、删除Apache Web环境
我们在安装NGINX之前,需要先删除Apache Web服务以避免它们之间的冲突。
首先,在删除Apache Web服务器之前,将停止Apache服务。
$ sudo systemctl stop apache2
停止Apache后,从systemctl中删除启动的Apache条目。
$ sudo systemctl disable apache2
我们在正常停止Apache服务并删除启动后,就可以从系统中删除Apache Web服务器软件包了。这里需要注意一点,我们在操作之前一定要备份好数据。
$ sudo apt remove apache2
我们使用这个命令只会删除apache2包,但是系统会保留与Apache相关的依赖项目。因此,必须删除那些不需要的依赖项以释放空间。
$ sudo apt autoremove
现在,Apache Web服务器已成功删除。 我们要开始安装NGINX了。
第三、安装Nginx web引擎
首先删除并刷新旧的apt存储库缓存,然后更新存储库以加载最新的包信息并执行完全升级所有已安装的包。
$ sudo apt clean all && sudo apt update && sudo apt dist-upgrade
更新存储库后,我们再去安装Nginx最新包。
$ sudo apt install nginx
这里直接是安装系统自带的,如果需要安装指定版本需要从官方下载最新版本安装。
第三、设置防火墙
默认情况下,UFW防火墙没有添加任何规则。我们需要将HTTP和HTTPS端口规则添加到UFW防火墙,这可以通过简单的命令来完成。 NGINX Full规则包含HTTP和HTTP端口,这将允许这些端口由UFW防火墙保持打开状态。
$ sudo ufw allow "Nginx Full"
添加防火墙规则后,我们在使用status命令检查规则。
$ sudo ufw status
看到状态提示是active就没有问题。
第四、NGINX Web服务器的配置文件与Apachce区别
1、Nginx
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;location / {
try_files $uri $uri/ =404;
}
}
比如Nginx配置文件在"/etc/nginx/sites-available/example.com.conf"这样的目录。
2、Apache
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin admin@example.com
DocumentRoot /var/www/html/
</VirtualHost><Directory /var/www/html>
Require all granted
AllowOverride None
</Directory>
Apache配置一般在"/etc/apache2/sites-available/example.com.conf"这样目录对应文件。
第五、设置NGINX Web服务
sudo nano /etc/nginx/sites-available/example.com.conf
根据我们需要添加的站点编辑文件,比如"sudo nano /etc/nginx/sites-available/laozuo.org.conf".
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;location / {
try_files $uri $uri/ =404;
}
}
然后相应进行配置。
在NGINX服务器配置文件中,我们使用可用站点和启用站点的目录之间的软链接创建符号链接。 软链接允许随时更改位于sites-available目录中的服务器块配置文件,并且它将立即复制到启用站点的目录。
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
根据域名进行修改。
我们再重启NGINX生效,在重启之前可以检测是否有效。
$ sudo nginx -t
如果没有错误提示,我们再启动。
$ sudo systemctl restart nginx
最后,如果我们网站目录没有写入权限,需要给予授权"$ sudo chown www-data:www-data /var/www/html"。这样我们就可以到对应目录进行添加站点建站。总之这样只是理解一个过程,真要操作确实麻烦,我们还不如重新格式化一键安装LNMP(LNMP一键安装包V1.6正式版本发布 增加支持PHP 7.3等)。
参考来自:http://lowendbox.com/blog/how-to-replace-apache-with-nginx-on-ubuntu-18-04/