Nginx服务
Nginx服务概述
- Nginx是一款轻量级、高性能的web服务软件
- 具有占有内存少,并发能力强的特点
- 对HTTP并发连接处理能力高,单台物理服务器可支持3w~5w个并发请求
编译安装Nginx
官网:http://www.nginx.org/
安装包:nginx-1.12.0.tar.gz
1 安装支持软件
Nginx的配置和允许需要pcre、zlib软件包的支持,应预先安装软件的开发包devel
yum -y install pcre-devel zlib-devel
2 创建运行用户、组
Nginx服务程序默认以nobody用户运行,为更加方便管理,创建专用账户
useradd -M -s /sbin/nologin nginx
-M: 不建立宿主目录
-s: 指定shell类型
3 编译安装
①查看配置帮助
./configure --help
②解压安装包并进入解压包
tar zxf nginx-1.12.0.tar.gz
cd nginx-1.12.0
③配置编译选项
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
--prefix=/usr/local/nginx # 指定安装目录
--user=nginx # 指定运行用户
--group=nginx # 指定运行用户组
--with-http_stub_status_module # 启用模块以支持状态统计,以便查看服务器的连接信息
④编译安装
make && make install
4 路径优化
查看当前PATH环境变量
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 该变量的值由一系列以冒号分隔的目录名组成
将主程序Nginx添加到环境变量中,使Nginx服务器的运行更加方便
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
或
echo "export PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile
5 运行控制
Nginx主程序配置文件路径/usr/local/nginx/conf/nginx.conf
# 检查配置文件错误
nginx -t
# 启动Nginx服务
nginx [-c PATH]
-c: 若要改用其他配置文件,使用该选项指定
# 查看进程
[root@localhost ~]# netstat -anpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26016/nginx: master
————————————————————————————————
# -bash: netstat: 未找到命令
yum install net-tools
通过访问IP地址可以测试Nginx服务是否正常运行
# 重载配置
killall -s HUP nginx
# 退出进程
killall -s QUIT nginx
————————————————————————
# -bash: killall: 未找到命令
yum install psmisc -y
# Nginx服务运行时,PID号默认存放在/usr/local/nginx/logs/nginx.pid
# 如需要使用kill命令,通过查询PID号来控制
cat /usr/local/nginx/logs/nginx.pid
使用Nginx服务脚本
为使Nginx服务的启动、停止、重载等操作更加方便,可以自己编写Nginx服务脚本;
使用chkconfig
和service
工具进行管理
vi /etc/init.d/nginx
————————————————————————————
#!/bin/bash
#chkconfig:- 99 20
#description:Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx" # 主程序路径
KILLPRO="/usr/bin/kill"
PIDFILE="/usr/local/nginx/logs/nginx.pid" # PID存放路径
case $1 in
start)
$PROG
;;
stop)
$KILLPRO -s QUIT $(cat $PIDFILE) # 根据PID号退出进程
;;
reload)
$KILLPRO -s HUP $(cat $PIDFILE) # 根据PID号重载进程
;;
restart)
$KILLPRO -s QUIT $(cat $PIDFILE)
$PROG
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
exit 0
————————————————————————————
chmod +x /etc/init.d/nginx # 添加执行权限
chkconfig --add nginx # 添加到系统服务
配置文件nginx.conf
cat /usr/local/nginx/conf/nginx.conf
————————————————————————————
#user nobody; # 配置用户或者组,默认为nobody nobody
worker_processes 1; # 允许生成的进程数,默认为1
#error_log logs/error.log; # 错误日志文件路径
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid; # PID文件的位置
# 指定Nginx进程的I/O响应模型,每个进程的连接数等设置
events {
worker_connections 1024; # 每个进程最多处理1024个连接
}
http {
include mime.types; # 文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#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 logs/access.log main; # 访问日志位置
sendfile on; # 允许sendfile方式传输文件;默认为off
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; # 连接超时时间
#gzip on;
# web服务的监听配置
server {
listen 80; # 监听端口;somename:8080
server_name localhost; # 监听地址;网站名
#charset koi8-r; # 网页的默认字符集
#access_log logs/host.access.log main;
location / {
root html; # 网站根目录的位置;默认/usr/lcoal/nginx/html
index index.html index.htm; # 设置默认页
#deny all # 拒绝的IP
#allow all # 允许的IP
}
# 添加HTTP_STUB_STATUS状态统计模块
location /status { # 访问位置为/status
stud_status on; # 打开状态统计功能
access_log off; # 关闭此位置的日志记录
}
#error_page 404 /404.html; # 错误页
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html; # 内部错误的反馈页面
location = /50x.html { # 错误页面配置
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ { # PHP转交给其他服务器
# proxy_pass http://127.0.0.1; # 请求转向的服务器
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ { #
# root html;
# fastcgi_pass 127.0.0.1:9000; # 默认进程端口
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
# 如果出现报错
tail /var/log/messages
或
ls /usr/local/nginx/logs
access.log error.log
Nginx地址限制
通过修改配置文件,增加字段实现
- deny IP/IP段:拒绝某个IP或IP段的客户端访问
- allow IP/IP段:允许某个IP或IP段的客户端访问
vim /usr/local/nginx/conf/nginx.conf
# 添加相应配置项
——————————————————————————————————
···
server {
location /{
deny 192.168.41.130;
allow all;
···
此时,192.168.41.130不能访问web服务器,并报错403拒绝访问
Nginx访问控制
目的:当客户端想要访问网站相应的网站或者目录时,要求用户输入用户名和密码才能正常访问
1 使用htpasswd
命令生成用户认证文件
[root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db test
New password:
Re-type new password:
Adding password for user test\
————————————————————————————————————
# 输入两次密码,用户名为test
# -bash: htpasswd: 未找到命令
yum -y install httpd-tools
2 修改密码文件的权限与属主
chmod 400 /usr/local/nginx/passwd.db
chown nginx /usr/local/nginx/passwd.db
3 添加配置项到主配置文件nginx.conf
vim /usr/local/nginx/conf/nginx.conf
···
server {
location /{
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd.db;
}
4 检测语法,重启服务
nginx -t
service nginx restart
此时访问web服务器需要输入账号密码
Nginx访问状态统计
Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的web访问情况;
在配置编译参数时,可以通过选项来添加此模块
./configure ··· --with-http_stub_status_module ···
# 查看已安装的Nginx是否包含HTTP_STUB_STATUS模块
/usr/local/nginx/sbin/nginx -V
要使用Nginx的状态统计功能,除了启用内建模块以外,还需要修改nginx.conf配置文件
vim /usr/local/nginx/conf/nginx.conf
···
location /status { # 访问位置为/status
stub_status on; # 打开状态统计功能
access_log off; # 关闭此位置的日志功能
}
Nginx虚拟主机
利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程;
虚拟主机提供了在同一台服务器,同一组Nginx进程上运行多个网站的功能;
使用Nginx搭建虚拟主机服务器时,每个虚拟WEB站点拥有独立的server{}
配置段。
准备各网站目录和测试首页
# 创建www.bt.com的根目录
mkdir -p /var/www/html/btcom
# 创建www.test.com的根目录
mkdir -p /var/www/html/testcom
# 创建默认页,并设置网页内容
vi /var/www/html/btcom/index.html
www.bt.com
vi /var/www/html/testcom/index.html
www.test.com
1 基于域名的虚拟主机
①修改windows客户机的hosts文件
C:\Windows\System32\drivers\etc\hosts
192.168.153.131 www.bt.com www.test.com
②修改配置文件
vim /usr/local/nginx/conf/nginx.conf
# 将配置文件中的server{}代码注释,加入新的代码
————————————————————————————
server {
listen 80;
server_name www.bt.com;
charset utf-8;
access_log logs/www.bt.access.log main;
location / {
root /var/www/html/btcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.test.com;
charset utf-8;
access_log logs/www.test.access.log main;
location / {
root /var/www/html/testcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
————————————————————————————————————
21 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
22 '$status $body_bytes_sent "$http_referer" '
23 '"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/www.bt.access.log main; # 使用了main,需要打开22行作用的注释
nginx -t # 检测语法错误
service nginx restart
③测试,分别访问两个域名
2 基于IP的虚拟主机
一台主机如果安装多个网卡可以有多个IP,可以设置每一个IP对应一个站点;
现在可以通过配置虚拟IP的方式来为主机设置站点。
①配置虚拟IP
[root@localhost ~]# ip addr
inet 192.168.153.131/24 brd 192.168.153.255 scope global noprefixroute ens33
[root@localhost conf]# ifconfig ens33:1 192.168.153.132
[root@localhost conf]# ip addr
···
inet 192.168.153.131/24 brd 192.168.153.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.153.132/24 brd 192.168.153.255 scope global secondary ens33:1
valid_lft forever preferred_lft forever
···
②修改配置文件nginx.conf
vim /usr/local/nginx/conf/nginx.conf
# 只需要修改listen和server_name两行就可以
——————————————————————————————————
server {
listen 192.168.153.131;
server_name localhost;
location / {
root /var/www/html/testcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.153.132;
server_name localhost;
location / {
root /var/www/html/btcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
——————————————————————————————————
[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
③重启服务,输入IP地址测试
# firewalld开启时,需要配置防火墙策略
[root@localhost conf]# firewall-cmd --add-port=80/tcp --zone=dmz
success
3 基于端口的虚拟主机
①修改配置文件nginx.conf
# 选择系统中不使用的端口,将多个端口映射到同一IP地址上
vim /usr/local/nginx/conf/nginx.conf
——————————————————————————————————
server {
listen 192.168.153.131:82; # 更改端口
server_name localhost;
location / {
root /var/www/html/testcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 192.168.153.131:81; #再创建一个模块,设置端口
server_name localhost;
location / {
root /var/www/html/btcom;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
②查看端口是否在运行
[root@localhost conf]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN 8226/nginx: master
tcp 0 0 0.0.0.0:82 0.0.0.0:* LISTEN 8226/nginx: master
③测试,访问两个端口
# 如果开启防火墙,需要在web服务器添加防火墙策略,开放端口
[root@localhost conf]# firewall-cmd --add-port=81/tcp --zone=dmz
success
[root@localhost conf]# firewall-cmd --add-port=82/tcp --zone=dmz
success
拓展:自建DNS服务器,配置基于域名的Nginx虚拟主机
DNS系统作用
- 维护地址数据库,其中记录了各种主机域名与IP地址的对应关系
- 正向解析:根据域名查IP地址
- 反向解析:根据IP地址查域名
DNS服务器类型
- 缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据
- 主域名服务器:维护某一个特定DNS区域的地址数据库,对其他的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自行建立所负责区域的地址数据文件
- 从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。但是对于客户机来说,物理使用主域名服务器还是从域名服务器,查询到结果都是一样的
BIND服务控制
BIND不是唯一能够提供域名服务的DNS服务程序,但是它却是应用最钢钒的,BIND可以运行在大多数linux主机中。官网:https://www.isc.org/
# 在网关服务器上安装
yum -y install bind*
——————————————————————
# 一些软件包
bind-utils: 提供对DNS服务器的测试工具程序,如nslookup
bind-libs: 提供了bind、bind-utils需要使用的函数库
bind-chroot: 为BIND服务提供了一个伪装的根目录(/var/named/chroot),以提高安全性
BIND软件包安装成功后,会自动生成一个名为named
的系统服务;
可以通过脚本文件/etc/init.d/named
或者service工具控制DNS域名服务的运行.
service named status
service named start
BIND服务的配置文件
主配置文件
/etc/named.conf
# options{}表示全局配置部分
# 除了directory项通常会保留以外,其他的配置项都可以省略
# 若不指定listen-on配置项,named默认在所有接口的UDP 53端口监听服务;客户端UDP,服务端TCP
# 若不指定allow-query配置项,默认会相应所有客户机的查询请求
options {
listen-on port 53 { 127.0.0.1; }; # 监听地址和端口;默认端口53
directory "/var/named"; # 区域数据文件的默认存放位置
allow-query { localhost; }; # 允许使用本DNS服务的网段
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
# "zone ······ {}"表示区域配置
# 一台DNS服务器可以为多个区域提供解析,因此在named.conf文件中可以有很多个zone配置段
zone "love.com" IN {
type master;
file "love.com.zone";
#allow-transfer {192.168.153.130;}; # 可选,指定从服务器
};
zone "." IN {
type master; # 自己创建根域,类型为master主区域;默认hint
file "named.ca"; # 区域数据文件为named.ca
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
# 检查配置文件语法错误
named-checkconf -z /etc/named.conf
区域数据配置文件
区域数据配置文件通常位于/var/named
目录下,每个区域数据文件对应一个DNS解析区域,文件名及内容由该域的管理员自行设置;区域数据文件需要自己创建或者复制已有的文件修改
1 TTL配置及SOA记录部分
$TTL 86400 # 有效解析记录的生存周期
@ IN SOA love.com. admin.love.com. ( # SOA标记、域名、管理邮箱
2011030301 # 更新序列号,可以是10位以内的整数
4H # 刷新时间,重新下载地址数据的间隔
30M # 重试延迟,下载失败后的重试间隔
12H # 失效时间,超过该时间仍无法下载则放弃
1D # 无效解析记录的生存周期
)
# 上述配置中,时间单位默认为秒,也可以使用以下单位:M分、H时、W周、D天
# 文件中的'@'符号表示当前的DNS区域名
# 关于更新序列号的说明:SOA记录中的更新序列号用来同步主、从服务器的区域数据,当从服务器判断区域更新时,若发现主服务器中的序列号与本地区域数据中的序列号相同,则不会进行下载
2 地址解析记录部分
@ IN NS www.love.com. # NS域名服务器:DNS服务器主机地址
IN MX 10 mail.love.com. # MX邮件交换:记录邮件服务器的主机地址
www IN A 192.168.153.131 # A地址:记录正向解析条目;告诉NS,www指向哪个IP地址
ftp IN CNAME www # 表示ftp.love.com是www.love.com的别名
# 检查区域数据文件的语法错误
# 检查DNS区域love.com的区域数据文件love.com.zone
cd /var/named
named-checkzone love.com love.com.zone
拓展:基于域名解析的负载均衡
当多台服务器同时为一个网站提供服务时,可以在区域数据文件添加同一域名对应多个IP地址的域名解析记录
www IN A 192.168.153.131
www IN A 192.168.153.132
www IN A 192.168.153.133
当然也有一台服务器同时承载某个DNS区域内的许多个不同域名的时候,可以在区域数据文件的最后一行添加泛域名解析记录,即使用*
以匹配主机名
* IN A 192.168.153.131
LNMP搭建
MYSQL源码编译安装
# 需要用到的安装包
cmake-2.8.6.tar.gz
mysql-5.6.36.tar.gz
1 安装依赖包
yum -y install ncurses-devel gcc-c++ perl-Module-Install
2 编译安装cmake
# 解压安装包到指定目录
tar -zxvf cmake-2.8.6.tar.gz -C /usr/local/
# 进入解压包
cd /usr/local/cmake-2.8.6/
# 配置,这里默认配置即可
./configure
# 编译安装
gmake && gmake install
3 编译安装mysql
# 解压安装包
tar -zxvf mysql-5.6.36.tar.gz -C /usr/local/
# 进入解压目录
cd /usr/local/mysql-5.6.36/
# 基于cmake进行配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc
# 编译安装
make && make install
4 创建配置文件
# 使用mysql自带的配置文件模板
cp /usr/local/mysql-5.6.36/support-files/my-default.cnf /etc/my.cnf
# 使用mysql自带的服务脚本
cp /usr/local/mysql-5.6.36/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
5 路径优化
echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
source /etc/profile
6 初始化数据库
# 创建mysql专用账户
groupadd mysql
useradd -M -s /sbin/nologin mysql -g mysql
# 更改权限
chown -R mysql:mysql /usr/local/mysql
# 初始化
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
7 启动数据库并设置数据库密码
systemctl start mysqld
mysqladmin -u root -p password 123456
PHP源码编译安装
PHP(Hypertext Preprocessor)超文本预处理器,是一种通用开源脚本语言;
-
主要适用于Web开发领域;
-
PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多
# 需要用到的安装包
php-5.5.24.tar.gz
zend-loader-php5.5-linux-x86_64_update1.tar.gz
1 安装依赖
yum -y install gd libxml2-devel libjpeg-devel libpng-devel freetype freetype-devel zlib libpng curl-devel
2 编译安装php
# 解压安装包到指定目录
tar -zxvf php-5.5.24.tar.gz -C /usr/local/
# 进入解压包
cd /usr/local/php-5.5.24
# 配置
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
# 编译安装
make && make install
3 创建配置
cp /usr/local/php-5.5.24/php.ini-development /usr/local/php5/php.ini
# 配置文件中的常见配置选项
default_charset = "utf-8" # 字符集
file_uploads = On # 是否允许HTTP方式文件上载
upload_max_filesize = 2M # 上载文件的最大许可大小
max_file_uploads = 20 # 每个HTTP最多允许请求上传的文件数
post_max_size = 8M # PHP将接受POST数据最大大小(HTTP 请求方法:GET 和 POST)
short_open_tag = On # 允许 tags 将被识别
4 路径优化
ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/
5 安装ZendGuardLoader优化模块
Zend Optimizer用优化代码的方法来提高PHP应用程序的执行速度。
实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。
一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。
①解压安装包
tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/local/
② 将解压包目录下的模块文件复制到PHP程序的模块文件夹
cd /usr/local/zend-loader-php5.5-linux-x86_64
cp ZendGuardLoader.so /usr/local/php5/lib/php/
③ 修改php.ini配置文件,添加加载及启用ZendGuardLoader.so模块的配置语句
vim /usr/local/php5/php.ini
# 放在[php]标签部分
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
LNMP测试
1 调用PHP的fpm模块处理
PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置;
在./configure的时候带 –enable-fpm参数即可开启PHP-FPM
# 调用php-fpm服务配置文件
cd /usr/local/php5/etc/
cp php-fpm.conf.default php-fpm.conf
# 启动php-fpm进程
/usr/local/php5/sbin/php-fpm
2 修改nginx配置文件
告知nginx如果接收到.php结尾的请求,交由给php-fpm进行处理
vim /usr/local/nginx/conf/nginx.conf
# 打开注释
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
service nginx restart
3 测试
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
拓展:403 Forbidden
1 考虑firewalld防火墙
firewall-cmd --add-port=80/tcp --zone=<zone>
2 考虑配置文件nginx.conf
vim /usr/local/nginx/conf/nginx.conf
# 考虑运行的用户
user nginx nginx;
# 在location / {} 中添加index.php;
# 如果不添加,则在输入网址时需要指定文件,如192.168.153.131/index.php
location / {
root html;
index index.php index.html index.htm;
allow all;
}
# 如果需要打开子目录,在server{}下添加
autoindex on;
3 文件权限
cd /usr/local/nginx/html
chown nginx. index.php
LNMP应用—搭建Wordpress博客网站
# 需要的软件包
wordpress-4.9.4-zh_CN.zip
1 解压并拷贝到网站根目录
unzip wordpress-4.9.4-zh_CN.zip
cp -r wordpress /usr/local/nginx/html/
2 创建数据库
mysql -u root -p
mysql> create database wordpress default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on wordpress.* to wordpuser@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
3 访问网站,搭建系统
192.168.153.131/wordpress
192.168.153.131/wordpress/index.php # 自动跳转
拓展:登录后不显示图片
1 修改php-fpm配置文件
/usr/local/php5/etc/php-fpm.conf
# 更改权限
user = nginx
group = nginx
2 添加index.php
vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
allow all;
}