目录
一、安装nginx
第一步、下载nginx的压缩包到Linux中
第二步、安装依赖
第三步:安装 nginx
第四步:启动nginx
第五步:测试nginx
二、 nginx的配置文件
nginx.conf文件内容解读
案例:发布多个网站
二、lamp/lnmp
简介:
三、配置lnmp
编辑
第一步:安装nginx
第二步:安装mysql
第三步:安装php和php.fpm
第四步:修改nginx配置文件
第五步:测试页面
一、安装nginx
nginx.org 是nginx的官网 里面有下载地址download) 和 文档/说明(documentation)
nginx也是一个中间件,轻量级,高性能 (跟apache相比)
安装nginx的时候,我们可以选择编译安装和yum安装。
这次我们用编译安装来安装nginx
依赖:openssl-devel zlib-devel ncurses-devel pcre-devel gcc gcc-c++
第一步、下载nginx的压缩包到Linux中
(如果没有wget 的话,我们可以先安装一下yum install wget -y)
wget https://nginx.org/download/nginx-1.24.0.tar.gz
第二步、安装依赖
yum install openssl-devel zlib-devel ncurses-devel pcre-devel gcc gcc-c++
第三步:安装 nginx
tar xvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
./configure --prefix=/usr/local/nginx && make && make install
cd /usr/local/nginx
ls ---> conf html logs sbin
conf 是nginx的皮配置文件
html 这个目录是nginx默认网站的根目录
logs 这个是nginx的日志文件目录
sbin 这个是nginx的启动程序的目录
第四步:启动nginx
cd /usr.local/nginx/sbin 这个目录下有个nginx的文件 ,我们看一下它是文本文件还是二进制文件
file /usr/local/nginx/sbin/nginx
然后我们 cd /usr/local/nginx/sbin/
然后./nginx
如果启动失败像这样,说明80端口被占用了,我们需要查看一下谁占用了并将进程停用掉ss -tnl | grep 80 查看一下80是否开启了,然后端口冲突了
lsof -i
是一个Linux命令,用于列出当前系统打开的网络连接和监听端口
lsof -i :80
pkill httpd 杀死进程 ,然后再看一下是否杀死了 lsof -i :80,然后在 ./nginx 一下启动
第五步:测试nginx
172.x.x.x Linux的IP地址
如果你想修改网页的内容,我们可以 cd /usr/local/nginx/html
然后修改 vim index.html
扩展一下:编译安装的话 如何重启nginx和让nginx开机自动启动
扩展:重启nginx 要不就杀死进程,然后在启动 要不就-s reload 命令重启
-s reload 要先进入目录这样
方法1:cd /usr/local/nginx/sbin
./nginx -s reload
* 我们可以把nginx的路径写入环境变量里,这样我们就可以在别的目录下启动nginx
export PATH=$PATH:/usr/local/nginx/sbin
我们切换到root的家目录下尝试nginx ,发现可以启动
方法2:先kill -9杀死 然后再启动
扩展:实现nginx开机自启动
ls /etc/rc.d/rc.local 这个文件是当开机的时候,会把里面的命令自动执行一遍
我们把启动命令写到里面去
vim /etc/rc.d/rc.local
/usr/local/nginx/sbin/nginx
但是在cen7之后我们需要给这个文件赋权
chmod +x /etc/rc.d/rc.local
二、 nginx的配置文件
/usr/local/nginx/conf/nginx.conf
* ps aux 是一个用于显示系统当前运行的进程信息的命令a 显示所有用户的进程
u 以用户为主的格式显示进程详细信息
x 显示没有控制终端的进程
nginx.conf文件内容解读
案例:发布多个网站
修改配置文件 可以把注释的部分删掉,在http中写入我们的网站,然后重启服务
/usr/local/nginx/sbin/nginx -s reload
注意这个 web3 下
index index.html; 才对
记得每句要加分号
在/usr/local/nginx/html 下创建 mkdir web{1,,3}
echo "1111">/usr/local/nginx/html/web1/index.html
echo "2222">/usr/local/nginx/html/web2/index.html
echo "3333">/usr/local/nginx/html/web3/index.html
/index.html
修改好之后我们去cmd中ping一下看看是否互通,如果不通的话,我们就要去修改windows系统下的hosts文件 C:\Windows\System32\drivers\etc 写入 IP地址 域名
最后我们用www.web1.com www.web2.com www.web3.com 来测试是否成功
二、lamp/lnmp
简介:
lamp :linux \ apache \ mysql \ php
lnmp : linux \ nginx \ mysql \ php
静态:服务器会直接返回给客户端,通过浏览器展示
例如 图片 视频动态:请求的文件会在服务器端执行,然后服务器端会将程序的执行结果返回给客户端
例如 php java 等
三、配置lnmp
基于fcgi的安装 可以实现动静分离
安装的组件
nginx - epel源
php-fpm remi 源
mysql mariadb
第一步:安装nginx
第二步:安装mysql
yum install mariadb
然后启动:systemctl start mariadb
开机自启动:systemctl enable mariadb
如果启动不了的话可以安装一下yum install mariadb-server,然后再启动
第三步:安装php和php.fpm
我们这里要安装php7
如果你已经安装了PHP的其他版本的话,但是现在想安装php7的话,先把原来的删除掉
1.检查当前安装的PHP包
yum list installed | grep php
如果有安装的PHP包,先删除他们
yum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 phpldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64
2、设置yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
如果想删除上面安装的包,重新安装rpm -qa | grep webstatic
rpm -e 上面搜索到的包即可
3、运行yum install安装支持包
yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-mysql.x86_64 php70w-pdo.x86_64
4.安装PHP FPM
yum install php70w-fpm
关闭防火墙:systemctl stop firewalld systemctl disable firewalld
setenforce 0
cat /etc/selinux/configsed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
第四步:修改nginx配置文件
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.web1.com;
root /usr/local/nginx/html/web1;
index index.html;
location ~ \.php$ {
root /myphp;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
}
然后在/myphp 中写一个动态文件
第五步:测试页面
IP地址/测试页面名称