在Centos上,我们一般用 yum install
命令来安装Linux源中自带的软件,该方法是不用自己下载相关的依赖项,直接一键全部安装好,在Ubuntu中我们一般使用apt-get install
命令来安装软件,同样的相对于二进制编译安装的好处就是不用配置想相应的环境和依赖项。
首先通过yum方式来安装Nginx
#yum install为centos下安装软件的方式,-y表示表示“yes”,不用直接输入确认
yum -y install nginx
安装成功,接下来我们测试Nginx是否正常
1.启动Nginx,在命令行直接输入 nginx
启动nginx
2.打开浏览器,在地址栏输入自己的ip地址,出现如下界面表示nginx安装正常
3. 输入 nginx -V
可以查看nginx的版本
我们注意两个文件路径
/usr/share/nginx/html
#该路径里面放的就是我们网站的内容,可以试着更改html里面的index.html内容,
刷新网站,会发现显示内容也会改变。将index.html里面的内容删掉,改为"hello",
刷新网站,显示如下:
/etc/nginx/nginx.conf
#此文件为nginx的配置文件,我们后面会修改此配置文件
nginx此时已经安装完成,具体配置会在后面详细说明。
使用yum方式安装PHP时,不能安装php7,只能安装php5,本教程中我们安装php5,新版本和旧版本的区别不是很大,没有必要纠结。
#下载php相关的软件,php-fpm是我们管理php的软件
yum install -y php php-fpm php-curl php-gd* php-mysql
安装完成。
启动php软件
service php-fpm start
查看php的版本
php -v
php安装成功。
在前面我们分别安装好了nginx和php,现在将nginx和php联合配置起来。
将nginx和php设置为开机自启动。
systemctl enable nginx.service
systemctl enable php-fpm.service
打开nginx的配置文件,前面提到过配置文件的路径
vim /etc/nginx/nginx.conf
打开后界面如下图:
# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;
# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;
# 工作模式和连接数上限
events {
# 每个worker_processes的最大并发链接数
# 并发总数:worker_processes*worker_connections
worker_connections 1024;
}
# 与提供http服务相关的一些配置参数类似的还有mail
http {
# 设置日志的格式
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记录访问的用户、页面、浏览器、ip和其他的访问信息
access_log /var/log/nginx/access.log main;
# 这部分下面会单独解释
# 设置nginx是否使用sendfile函数输出文件
sendfile on;
# 数据包最大时发包(使用Nagle算法)
tcp_nopush on;
# 立刻发送数据包(禁用Nagle算法)
tcp_nodelay on;
# 链接超时时间
keepalive_timeout 65;
# 这个我也不清楚...
types_hash_max_size 2048;
# 引入文件扩展名与文件类型映射表
include /etc/nginx/mime.types;
# 默认文件类型
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
# http服务上支持若干虚拟主机。
# 每个虚拟主机一个对应的server配置项
# 配置项里面包含该虚拟主机相关的配置。
server {
# 端口
listen 80 default_server;
listen [::]:80 default_server;
# 访问的域名
server_name _;
# 默认网站根目录(www目录)
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
# 默认请求
location / {
}
# 错误页(404)
error_page 404 /404.html;
location = /40x.html {
}
# 错误页(50X)
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
我们要更改配置的只需要server
部分就可以了。进入vim编辑模式,或者用FlashFXP将配置文件共享到桌面来更改即可。
只需要改动三处即可
server {
listen 80 default_server;
listen [::]:80 default_server;
# 这里改动了,也可以写你的域名,我用的是IP地址
server_name 106.12.129.252;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
# 这里改动了 定义首页索引文件的名称
index index.php index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
# 这里新加的
# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
# Fastcgi服务器和程序(PHP,Python)沟通的协议.
location ~ \.php$ {
# 设置监听端口
fastcgi_pass 127.0.0.1:9000;
# 设置脚本文件请求的路径
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 引入fastcgi的配置文件
include fastcgi_params;
}
}
更改后的配置文件为:
重启nginx服务器
nginx -s reload
此时,nginx和php已经联合配置完成了,但是我们并不知道实际配置效果如何,这个时候我们可以写一个小的测试脚本来验证一下。
之前提过了/usr/share/nginx/html
是Nginx的网站根目录,我们可以在此目录下建立一个php测试脚本。
# phpinfo.php是我要建立的文件名
vim /usr/share/nginx/html/phpinfo.php
打开编辑器后,在里面输入
phpinfo();// 测试信息
?>
保存退出后,在浏览器中输入http://106.12.129.252/phpinfo.php
,我这里的ip是106.12.129.252,你换成你们自己的即可。如图出现:
Nginx和php已经配置完成了。
此次配置LNMP环境中间确实遇到了不少的坑,中间也参考了许多的博客,在此感谢所有的博主,正是他们的开源精神,使得我能顺利完成这个环境搭建,期间也不止一次的重装系统,最终还是成功的完成了搭建。
一个正派但不正经的程序员
18年计算机专业硕士毕业生,腾讯SNG部门实习生,现加盟快手科技 ,后端研发工程师一枚
喜欢技术,喜欢互联网
民遥控 ,赵雷、陈粒、宋冬野
公众号:编程美学,时不时写篇文章,偶尔数羊,其实说到底,只是想和你聊聊