环境说明
服务器:web02-172.16.1.8
nginx版本:nginx-1.16.0-1.el7.ngx.x86_64
mariadb版本:mariadb-5.5.60
PHP服务版本:php71w
一、搭建部署nginx服务
1.配置官方yum源
[root@web01 ~]# cd /etc/yum.repos.d/
[root@web01 yum.repos.d]# vim nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
2.查看nginx官方源是否加载成功
[root@web02 /etc/yum.repos.d]# yum list nginx
3.安装nginx服务
[root@web02 /etc/yum.repos.d]# yum install -y nginx
[root@web02 /etc/yum.repos.d]# rpm -qa nginx
nginx-1.16.0-1.el7.ngx.x86_64
4.编写nginx配置文件
[root@web02 /etc/yum.repos.d]# cd /etc/nginx/conf.d
[root@web02 /etc/nginx/conf.d]# vim www.conf
server{
listen 80;
server_name www.bossx.com;
location / {
root /app/html/www;
index index.php index.html;
}
}
5.检查nginx语法
[root@web02 /app/html/www]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
6.创建站点目录
[root@web02 /etc/nginx/conf.d]# mkdir /app/html/www -p
7.在站点文件编写一个首页文件
[root@web02 /etc/nginx/conf.d]# cd /app/html/www/
[root@web02 /app/html/www]# vim index.html
cs-----www.bossx.com
8.修改站点目录及目录下文件属主属组
root@web02 /etc/nginx/conf.d]# chown -R nginx.nginx /app/html/www/
[root@web02 /etc/nginx/conf.d]# ll -d /app/html/www/
drwxr-xr-x 2 nginx nginx 6 Jun 9 02:50 /app/html/www/
9.启动nginx服务
[root@web02 ~]# systemctl start nginx
[root@web02 ~]# systemctl enable nginx
10.检查nginx是否运行
[root@web02 ~]# ps -ef |grep nginx
root 9814 1 0 02:58 ? 00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 9815 9814 0 02:58 ? 00:00:00 nginx: worker process
11.测试nginx是否部署成功
由于域名不是我们的、所以在本地测试时需要将域名写入hosts文件
windows下文件位置C:\Windows\System32\drivers\etc
10.0.0.8 www.bossx.com 写入最后一行保存,需要管理员权限
二、部署MySQL数据库服务
1.安装mysql服务
[root@web02 ~]# yum install mariadb mariadb-service -y
2.启动mysql服务
[root@web02 ~]# systemctl start mariadb.service
[root@web02 ~]# systemctl enable mariadb.service
3.设置数据库服务登录密码
[root@web02 ~]# mysqladmin password qweqwe
4.登录mysql,创建一个数据库、创建用户
[root@web02 ~]# mysql -uroot -pqweqwe
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on wordpress.* to 'wordpress'@'172.16.1.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> grant all on wordpress.* to 'wordpress'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye
三、PHP服务部署
1.更新yum源信息
[root@web02 ~]#rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@web02 ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.安装PHP服务及相关软件
[root@web02 ~]# yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
03.配置PHP-fpm用户与nginx运行用户相同
[root@web02 ~]# sed -i '/^user/c user=nginx' /etc/php-fpm.d/www.conf
[root@web02 ~]# sed -i '/^group/c group=nginx' /etc/php-fpm.d/www.conf
[root@web02 ~]# egrep -n '^user|^group' /etc/php-fpm.d/www.conf
8:group=nginx
10:group=nginx
04.启动php-fpm
[root@web02 ~]# systemctl start php-fpm
[root@web02 ~]# systemctl enable php-fpm
05.检查php-fpm
[root@web02 ~]# ps -ef |grep php
root 11860 1 0 03:43 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 11861 11860 0 03:43 ? 00:00:00 php-fpm: pool www
四、LNMP架构配置
- 编写nginx配置文件
[root@web02 /etc/nginx/conf.d]# vim www.conf
server {
listen 80;
server_name www.bossx.com;
location / {
root /app/html/www;
index index.php index.html;
}
location ~ \.php$ {
root /app/html/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2.编写PHP文件
[root@web02 /app/html/www]# vim info.php
<?php
phpinfo();
?>
3.编写mysqli.php文件,填写对应的数据库IP、用户名、密码
[root@web02 /app/html/www]# vim mysqli.php
<?php
$servername = "localhost";
$username = "root";
$password = "qweqwe";
//$link_id=mysql_connect('主机名','用户','密码');
//mysql -u用户 -p密码 -h 主机
$conn = mysqli_connect($servername, $username, $password);
if ($conn) {
echo "mysql successful connect !\n";
}else{
die("Connection failed: " . mysqli_connect_error());
}
?>
4.重启nginx服务
[root@web02 /etc/nginx/conf.d]# systemctl restart nginx
5.测试结果
四、网站代码上线
1.将代码文件上传到服务器上,并解压
[root@web02 ~]# rz
[root@web02 ~]# tar xf wordpress-5.2.1.tar.gz
2.将代码移动到站点目录(/app/html/www)下
[root@web02 /~]# mv wordpress/* /app/html/www/
3.修改下站点目录下内容的所有者
[root@web02 ~]# chown nginx.nginx /app/html/www/ -R
五、通过浏览器访问并部署产品