美文网首页
Ubuntu Nginx PHP Mysql 部署

Ubuntu Nginx PHP Mysql 部署

作者: 玛瑙鑫 | 来源:发表于2023-04-20 11:26 被阅读0次

操作系统:Ubuntu Server 18.04.1 LTS 64bit
Nginx1.14.0
PHP7.3.1
Mysql5.7.41

Ubuntu系统默认是不允许用户以root身份登录的

1、ubuntu激活root用户


image.png

2、设置允许root通过ssh默认登录

sudo vim /etc/ssh/sshd_config        #root权限编辑
PermitRootLogin yes        #在第一行添加内容
sudo service ssh restart        #终端运行重启ssh
image.png

源码编译安装 PHP 7.3

1、下载PHP源代码

首先需要从PHP官网下载PHP7.3.1的源代码,保存为php-7.3.1.tar.xz。

http://cn2.php.net/distributions/php-7.3.1.tar.xz

在上述文件保存的目录中打开终端,使用命令将其解压,并使用cd进入解压后的目录

tar -xvJf ./php-7.3.1.tar.xz

cd php-7.3.1

2、安装依赖

其次,需要安装一些编译PHP所需要的依赖

sudo apt update

sudo apt install gcc

sudo apt install make

sudo apt install openssl

sudo apt install curl

sudo apt install libbz2-dev

sudo apt install libxml2-dev

sudo apt install libjpeg-dev

sudo apt install libpng-dev

sudo apt install libfreetype6-dev

sudo apt install libzip-dev

sudo apt-get install libcurl4-openssl-dev libxpm-dev libmysqlclient-dev libpq-dev libicu-dev libldap2-dev libxslt-dev

3、配置PHP

在编译前,需要对PHP进行配置,以供其生成对应的makefile文件

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-curl --with-freetype --enable-gd --with-jpeg  --with-gettext --with-kerberos --with-libdir=lib64 --with-libxml --with-mysqli --with-openssl --with-pdo-mysql  --with-pdo-sqlite --with-pear --enable-sockets --with-mhash --with-ldap-sasl --with-xsl --with-zlib --with-zip -with-bz2 --with-iconv --enable-fpm --enable-pdo --enable-ftp --enable-bcmath  --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl  --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-sysvsem --enable-cli --enable-opcache --enable-intl --enable-calendar --enable-static --enable-mysqlnd

配置成功后会出现如下字样

image.png

在这一步中,如果出现无法找到某个依赖的情况,可以尝试使用sudo apt install来重新安装一下没有找到的依赖。

4、编译并安装PHP

在完成配置后,可以直接使用make来进行编译,可以使用参数-j来指定编译线程数量来多线程编译

make -j4

编译需要一段比较长的时间,请稍作等待,编译成功后会输出如下内容

image.png

然后执行以下命令进行安装

sudo make install

执行完成后,PHP将会被安装到/usr/local/php/。

5、验证PHP

可以使用如下指令来输出PHP的版本,来验证是否正确安装

/usr/local/php/bin/php -v

如果正确安装,将会出现如下内容

image.png

到这一步为止,PHP7.3.1便成功从源代码编译安装了。

6、复制php.ini

编译安装后的目录并不会有现成的php.ini,需要手动复制过去。

在解压出来的源代码目录中,有供开发环境使用的php.ini-development和供生产环境使用的php.ini-production。

输入命令来复制(以开发环境为例)

sudo cp php.ini-development /usr/local/php/etc/php.ini

7、配置php-fpm

cd /usr/local/php/etc

cp php-fpm.conf.default php-fpm.conf

cd /usr/local/php/etc/php-fpm.d

cp www.conf.default www.conf

user=www

group=www

如果www用户不存在,那么先添加www用户

groupadd www

useradd -g www www

cp /home/ubuntu/php-7.3.1/sapi/fpm/php-fpm.service /etc/systemd/system/php-fpm.service

8、启动php-fpm

sudo /usr/local/php/sbin/php-fpm

groupadd nobody
image.png

Ubuntu安装 Nginx

1、apt-get安装nginx

sudo su root

apt-get install nginx

如果安装时遇到这种情况,就输入sudo apt update 在重新输入安装命令即可。

2、查看nginx是否安装成功

nginx -v

service nginx start 
image.png image.png

nginx文件安装完成之后的文件位置:

/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

修改nginx配置文件

image.png

安装MySQL5.7

1、查看是否安装mysql服务:发现没有mysql服务

image.png

2、开始安装mysql5.7

sudo apt-get install mysql-client-core-5.7

sudo apt-get install mysql-client-5.7

sudo apt-get install mysql-server-5.7 

3、查看mysql服务状态 并重启

sudo service mysql status

sudo service mysql start
image.png

4、在 /etc/mysql/debian.cnf 中找到 默认MySQL数据库登陆用户以及随机密码的保存信息

cat /etc/mysql/debian.cnf
image.png

5、使用在debian.cnf中的用户和密码连接mysql 并修改root账号密码

mysql -h localhost -u debian-sys-maint -p 

use mysql 

update user set authentication_string=password('xxxxxx') where user='root' and host='localhost'; 

update user set plugin="mysql_native_password";

flush privileges; 
image.png

6、重启mysql服务后 验证更新的root密码是否生效

mysql -h localhost -u root -p 
image.png

项目部署

runtime文件夹设置为可写

set @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

set @@SESSION.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

相关文章

网友评论

      本文标题:Ubuntu Nginx PHP Mysql 部署

      本文链接:https://www.haomeiwen.com/subject/yhurjdtx.html