先更新本机内置的程序。
sudo apt-get update
sudo apt-get upgrade
再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装
sudo apt-get install software-properties-common
nginx
直接安装nginx
sudo apt-get install nginx
nginx的操作命令如下:
service nginx start
service nginx stop
service nginx restart
查看nginx使用的config配置文件或者软重启的命令是
nginx -t
nginx -s reload
一般配置文件在/etc/nginx目录下。
不过要配置一个新的网站,不需要在nginx.conf里添加,只需要在sites-enabled文件夹下加一个对应文件即可(文件名随意)
cd /etc/nginx/sites-enabled
touch demo
上面的demo文件是随便命名,用vi打开
vim demo
然后添加下面的内容
server { listen 80; server_name demo.com; root /home/www/demo/public; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.+)$; fastcgi_pass unix:/run/php/php7.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
解释一下上面的配置:
独立的一个服务器配置需要用server{}包裹起来
listen 80表示监听80端口,也就是http访问的默认端口,其它端口在浏览器上需要输入端口号。
server_name表示绑定的是哪个域名。
root表示该域名访问到路径对应的实际文件夹
index表示域名的path为空的时候对应访问哪个文件,默认都是index.html、index.htm和index.php
location /这里是对所有路径做路由重写,里面的try_files $uri $uri/ /index.php?$query_string;是laravel框架的路径重写配置。
location ~ .php$是指访问所有后缀名带.php的路径时候,需要执行的操作,这里也就是配置php的fastcgi
fastcgi里的最重要部分是fastcgi_pass,它代表nginx服务器如何与php通信,这里的unix:/run/php/php7.1-fpm.sock;是php7.1-fpm启动后生成的套接字文件,可以和nginx通信。