在Ubuntu Linux 18.04 LTS上安装和配置Nginx
如何在Ubuntu Linux 18.04 LTS上安装和配置Nginx?
说明:Nginx是一个免费的开源Web服务器。
Nginx具有通过Internet发送网页的服务。
您可以发送由PHP生成的静态或动态网页。
Nginx以高性能HTTP,HTTPS和反向代理服务器而闻名。
它提供了简单的配置,并在服务器上使用了较少的资源。
它是Apache服务器的绝佳替代品。
在Ubuntu Linux 18.04上安装和配置Nginx
在Ubuntu 18.04 LTS上安装Nginx的过程如下:
- 使用apt命令更新系统
- 使用
apt install nginx
在Ubuntu上安装Nginx - 配置Nginx服务器
- 启用并重启Nginx服务器
让我们详细了解所有步骤,以便在Ubuntu Linux 18.04 LTS服务器上安装Nginx。
步骤2.找出您的Ubuntu Linux服务器IP地址
输入以下ip命令:
$ ip show $ ip addr show
记下IP地址10.105.28.46。
您可能有一个公共IPv4地址。
这完全取决于您的设置。
步骤3.在Ubuntu Linux 18.04 LTS上安装Nginx
运行以下apt命令以在Ubuntu 18.04上安装安全更新:
$ sudo apt update $ sudo apt upgrade
输出示例:
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Fetched 252 kB in 1s (503 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.
如何在Ubuntu 18.04上安装Nginx
最后安装Nginx Weber服务器:
$ sudo apt install nginx
步骤4.在Ubuntu上启动/停止/重启Nginx服务器的命令
在启动时使用systemctl命令启用Nginx服务器:
$ sudo systemctl enable nginx
使用systemctl命令启动Nginx服务器:
$ sudo systemctl start nginx
使用systemctl命令重新启动Nginx服务器:
$ sudo systemctl restart nginx
使用systemctl命令停止Nginx服务器:
$ sudo systemctl stop nginx
使用systemctl命令重新加载Nginx服务器:
$ sudo systemctl reload nginx
使用systemctl命令获取Nginx服务器的状态:
$ sudo systemctl status nginx
步骤5.在Ubuntu Linux上使用UFW打开端口80和443(防火墙配置)
UFW是简单防火墙的首字母缩写。
它用于管理Linux防火墙,旨在为用户提供易于使用的界面。
要打开端口80(HTTP)和HTTPS(443),请运行:
$ sudo ufw allow https comment 'Open all to access Nginx port 443' $ sudo ufw allow http comment 'Open access Nginx port 80' $ sudo ufw allow ssh comment 'Open access OpenSSH port 22' $ sudo ufw enable
验证一下:
$ sudo ufw status
步骤6.验证Nginx在Ubuntu 18.04 LTS上正常工作
您的Web服务器已启动并正在运行。
现在该进行测试了。
使用步骤2中收集的IP地址。
启动Web浏览器并输入URL:
http://10.105.28.46/
或使用公共IP地址:
http://104.200.23.232/
步骤7.配置Nginx服务器
让我们通过目录设置我们的公共领域(例如cms.theitroad.local或www.theitroad.local等)。
创建一个用户来存储网页
使用useradd命令添加名为www-pubcms的新Linux用户
$ sudo useradd -s /usr/sbin/nologin -m -d /home/lighttpd/ -c 'cms.theitroad.local user' www-pubcms
使用passwd命令锁定Linux用户帐户:
$ sudo passwd -l www-pubcms `passwd: password expiry information changed.`
使用mkdir命令创建目录来存储网页
$ sudo mkdir -v /home/lighttpd/http/
创建一个新的示例网页
使用文本编辑器,例如nano命令或vim命令:
$ sudo nano /home/lighttpd/http/index.html
或者
$ sudo vim /home/lighttpd/http/index.html
追加以下HTML代码:
<html> <head> <title>CMS.theitroad.local</title> </head> <body> <h1>Welcome</h1> This is a test page for cms.theitroad.local. <hr> <small>Powered by Nginx and Ubuntu 18.04 LTS</small> </body> </html>
设置目录权限:
$ sudo chown -vR www-pubcms:www-pubcms /home/lighttpd/
为cms.theitroad.local域创建虚拟域配置
$ sudo vim /etc/nginx/sites-available/http.cms.theitroad.local.conf
或者
$ sudo nano /etc/nginx/sites-available/http.cms.theitroad.local.conf
追加配置:
# our first viraul host cms.theitroad.local server { listen 80; # port server_name cms.theitroad.local; # dns server name # log files access_log /var/log/nginx/cms.theitroad.local_access.log; error_log /var/log/nginx/cms.theitroad.local_error.lg; # document root where files stores for cms.theitroad.local domain root /home/lighttpd/http; index index.html index.htm; }
保存并关闭文件。
在启用站点的目录中使用ln命令创建新的软链接,以启用cms.theitroad.local域:
$ cd /etc/nginx/sites-enabled/ $ sudo ln -v -s /etc/nginx/sites-available/http.cms.theitroad.local.conf .
测试并正常加载Nginx服务器
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl reload nginx
确保将域名映射到您的公共IP地址,例如104.200.23.232。
可以使用host命令或dig命令来验证cms.theitroad.local的A记录:
$ host cms.theitroad.local
启动浏览器并输入您的域名:
http://cms.theitroad.local/
导入Nginx日志文件
- /var/log/nginx/Nginx服务器日志文件。
- /etc/nginx/Nginx服务器配置文件目录。所有活动站点的配置都可以在实际目录下的/etc/nginx/sites-enabled /目录中找到,该目录位于/etc/nginx/sites-available /。
/etc/nginx/nginx.conf
您的主要nginx配置文件。
使用tail命令或更多命令或grep命令或cat命令查看服务器日志文件:
$ tail -f /var/log/nginx/access.log $ more /var/log/nginx/error.log $ grep 'something' /var/log/nginx/cms.theitroad.local_access.log $ cat /var/log/nginx/cms.theitroad.local_access.log
检查Nginx日志文件以确保所有域的所有内容均正常运行
使用ss命令或netstat命令验证是否在Ubuntu Linux上打开了Nginx端口:
$ ss -tulpn $ ss -tulpn | grep :80 $ netstat -tulpn