场景
基于腾讯云CentOS 8.2 64位,所有步骤均执行完成后就能配置成功(测试时间2021-11-03),初始化系统进行如下步骤安装
nginx安装
yum install nginx -y
安装完成后,开启nginx服务
systemctl start nginx.service
开启后就能通过自己ip或者配置的域名看到nginx了,如下图:
安装mysql数据库
yum install mariadb-devel mariadb mariadb-server -y
安装完成后,开启mysql服务
systemctl start mariadb.service
启动后进行数据库配置,先初始化MySQL
mysql_secure_installation
没有密码直接回车即可
然后输入y设置root的密码,两次
然后移除其他用户,不允许root远程链接,删除测试库,刷新权限就完成。
设置完成后,进入mysql,回车后输入刚设置的密码
mysql -uroot -p
然后创建一个可以远程链接的用户,并设置用户所拥有的权限,根据情况和所需权限设定所拥有的权限
create user dev@'%' identified by 'mysql1234';
GRANT DROP,SELECT, UPDATE,CREATE,ALTER,INSERT,DELETE ON db_test1.* TO 'dev'@'%' IDENTIFIED BY 'mysql1234';
FLUSH PRIVILEGES;
quit;
此时数据库配置完成,退出。
安装php7
需要先将更新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
yum -y install php php-cli php-fpm php-common php-devel php-embedded php-gd php-mbstring php-mysqlnd php-opcache php-pdo php-xml
再启动fpm
systemctl start php-fpm.service
重启nginx
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
配置测试文件
创建测试代码,vi /usr/share/nginx/html/index.php,内容如下
<?php
echo phpinfo();
?>
退出保存后,再用浏览器查看,就能看到php的配置信息
到此配置完成,同步代码到项目代码即可。
相关配置文件目录如下
- nginx默认站点目录是:/usr/share/nginx/html/ 权限设置:chown
- nginx.nginx/usr/share/nginx/html/ -R
- MySQL数据库目录是:/var/lib/mysql 权限设置:chown mysql.mysql -R /var/lib/mysql
需要上传下载文件时,可使用rz,sz完成,需要安装lrzsz
yum -y install lrzsz
好记性不如烂笔头
nginx,mysql,fpm都可设置为开启启动,在所有配置完成前不建议设置,避免踩坑。
如下配置开启自启
systemctl enable mariadb.service
隐藏index.php配置如下
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm; #增加index.php
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
遇到403就是权限问题,
cat /etc/nginx/nginx.conf将用户修改为root即可,需要重启nginx哈
fpm始终启动失败时如何处理
vi /lib/systemd/system/php-fpm.service修改配置
ExecStart=/usr/sbin/php-fpm --nodaemonize需要修改如下
还有可能设置自启导致,需要清空配置缓存
systemctl daemon-reload