一、搭建LNMP及商业网站的实现
1. 安装包、开启服务
yum -y install nginx mariadb-server php-fpm php-mysql
如果nginx安装失败就需要安装epel-release。装上了 EPEL之后,就相当于添加了一个第三方源。
yum install epel-release yum update
如果epel-release安装失败配置centos镜像 阿里云:developer.aliyun.com/mirror/cent…
然后再次执行 yum -y install nginx mariadb-server php-fpm php-mysql
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
2. 修改nginx的配置文件
(1)cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf 有个模板例子覆盖了配置文件 vi /etc/nginx/nginx.conf修改下面几项
① user root; 使用用户
error_log /var/log/nginx/error.log info; 错误日志
② events {
worker_connections 65535;
}
④ server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
location / {
root html;
index index.php index.html index.html;
}
location ~ .php$ { # 开启.php,配置文件有例子,只需去掉注释,修改一行即可
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
(2)修改完,可以nginx -t 查看发现有[warn]65535
重启systemctl restart nginx
(3)ulimit -n查看linux系统里打开文件描述符的最大值,一般缺省值是1024,对一台繁忙的服务器来说,这个值偏小,所以有必要重新设置linux系统里打开文件描述符的最大值。
ulimit -n 65535 修改内核参数
3. 把网站传进/home/www
然后就可以连接数据库了
二、SSL加密
(1)一个物理服务器设置一个https
1. 创建存放证书的目录
mkdir /etc/nginx/ssl
2. 自签名证书
cd /etc/pki/tls/certs/
make nginx.crt
openssl rsa -in nginx.key -out nginx2.key 因为刚私钥被加密了,为了后边方便,解密
3. 把证书和私钥cp 到nginx存放证书目录
cp nginx.crt nginx2.key /etc/nginx/ssl/
mv nginx2.key nginx.key 把名字改回来
4. 修改配置文件,加一段server
server {
listen 443 ssl;
server_name www.along.com
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_session_cache shared:sslcache:20m;
ssl_session_timeout 10m;
(2)因为nginx 强大,可以实现多个虚拟主机基于不同的FQDN 实现ssl加密,httpd不能实现
2、把证书和私钥cp 到nginx存放证书目录,并解开私钥的加密
cp nginx{2,3}* /etc/nginx/ssl/
openssl rsa -in nginx2.key -out nginx2.key
openssl rsa -in nginx3.key -out nginx3.key
3、创建各自对应的访问网页
echo website1 > /app/website2/index.html
三、## 实现身份验证
1. 生成密码账户文件
2. 生成密码账户文件
vim /etc/nginx/nginx.conf 在location段中指向账户密码文件
3. 网页查看验证