Home >Backend Development >PHP Tutorial >Detailed steps for LNMP compilation and installation under Centos7 system
The content of this article is about the detailed steps of LNMP compilation and installation under Centos7 system. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
demo2
In order to avoid taking a long time to install every time, record the detailed tutorial of compilation and installation
The PHP download address of this article:
`wget http://cn2.php.net/distributions/php-7.2.0.tar.gz`
This article’s NGINX download address:
`wget http://nginx.org/download/nginx-1.12.0.tar.gz`
View the current directory: pwd
Steps to install NGINX:
The first step: Install the files that are required for compilation
yum install gcc gcc-c openssl openssl-devel cyrus-sasl-md5
If yum prompts that there is no yum, remember to install yum first. After the result is completed, enter the address of the download directory to decompress the NGINX installation package
解压到当前目录: tar -zxvf nginx-1.12.0.tar.gz 进入到解压后的安装目录 cd nginx-1.12.0
Since the Linux compilation command is executed in one line, it is not difficult for the reader to copy it line by line.
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8
It should be noted that according to the compilation method above, the first installation can be successful. After uninstalling, the second installation will prompt
pcre zlib did not find the corresponding path error. Therefore, the second compilation path should be changed to
./configure --prefix=/usr/local/nginx --with-http_ssl_module
. It should be noted that it is the directory address of the configuration installation--not the crossbar--
There are also some personalized directories The installation address, this article uses the default installation directory address
Configure the installation path, compile and install
make && make install
The installation will basically be successful without any accidents If there is a problem with the installation configuration path, you can reset the installation path and install it according to the above steps.
make clean 重置编译路径时,先执行
After the installation is completed, start nginx:
[root@VM_31_16_centos down]# /usr/local/nginx/sbin/nginx
Check whether nginx starts successfully as shown in the figure below:
ps -ef | grep nginx
Access nginx according to the IP address or domain name of the service. The following figure indicates successful startup.
There are two steps to start the function.
第一步骤:加入到开机运行
vim /etc/rc.local
The added code is as follows:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &
Second step: Add to environment variables
[root@VM_31_16_centos ~]# vim /etc/profile
Add
export PATH="$PATH:/usr/local/nginx/sbin:"
wq in the last line: Save and exit
Execute the update to take effect. Modified content:
source /etc/profile
This completes the nginx compilation and installation. Adding environment variables eliminates the need to execute files in the installation directory.
You can view it directly by using the global command
nginx -v
The execution result is shown in the figure below:
nginx version: nginx/1.12.0
Written today Here, I will add the new PHP compilation and installation later.
Start the installation of PHP-FPM
First install the expansion package required for compilation:
yum install gcc gcc-c libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
If nothing happens, the installation will basically be successful. Enter the PHP7.2 download directory and extract it to the current directory
cd /down/php-7.2.0 tar -zxvf php-7.2.0.tar.gz
Start configuring the compilation path
./configure --prefix=/usr/local/php7.2 --with-config-file-path=/usr/local/php7 .2/etc--enable mbstring --with-libxml-dir=/usr --enable-soap --with-curl --with-zlib --with-gd --with-pdo-sqlite --with-pdo -mysql --with-mysqli --with-mysql-sock --enable-mysqlnd --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable- sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --enable-ftp -- with-kerberos --with-xmlrpc --with-fpm-user=www --disable-fileinfo
Compile and install:
make && make install
Don’t rush to start PHP-FPM here. , PHP must be associated with the Nginx configuration file to parse the php file
Enter the PHP installation directory and copy a configuration file
cd /usr/local/php7.2/etc cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf
Edit the content as follows:
pid = run/php-fpm.pid
Remove the previous
#According to the configuration of the last line of php-fpm.conf, enter the loaded configuration file
cd /usr/local/php7.2/etc/php-fpm.d cp www.conf.default www.conf vim www.conf
The address that needs to be editeduser = www
Username to join group = www
User group to join
Ensure that the ports monitored by the system are not in conflict listen = 127.0.0.1:9000
The default does not need to be modified
After these basic settings are set, start PHP-FPM
/usr/local/php7.2/sbin/php-fpm
Check whether the process is started:
ps -ef | grep php
You can see that there are not only the root process but also the process of the newly added www user group. In this way, PHP has been started successfully! ! !
The next step is to configure nginx to parse the PHP file configuration.
Make sure that the user name and user group configured in PHP are consistent.
Enter the Nginx configuration file directory, edit and modify the line
user www www;
worker_processes 3;
**The configured path address must be an absolute path address**
Similarly starting Nginx also requires the same www user group as PHP-FPM
After modifying the configuration, restart the Nginx server
/usr/local/nginx/sbin/nginx -s reload
Check whether nginx has started the changed configurationps -ef | grep nginx
The execution result is as shown in the figure below, indicating that the configuration has been successful.
Execute the PHP file according to the domain name or corresponding IP address. The successful execution result is as shown below, and the PHP file can be successfully parsed
接下来开始安装mysql,因为的mysql 编译时间较长,选择了yum 安装节省时间达到的效果一致
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm yum -y install mysql-server
按照步骤就可以安装成功。yum 安装也可以指定目录,这样会改变MySQL默认的启动配置文件的路径地址,不适合新手安装。
指定安装目录: yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server
MySQL启动和关闭
开启MySQL服务器方式一service mysqld restart
开启MySQL服务器方式二: systemctl start mysqld
关闭MySQL服务器: systemctl stop mysqld
MySQL第一次登陆会随机生成一个随机登陆密码,查看方式如下:
grep "password" /var/log/mysqld.log
登陆成功后,可以手动修改登陆密码,记得刷新权限
方式一:alter user 'root'@'localhost' identified by '123456'; 方式二:update mysql.user set authentication_string=password('root') where user='root';
刷新权限: flush privileges
最后一个就是开启远程链接权限了,mysql默认是没有开始远程连接属性的。下面是仅供测试连接,开放了所有连接权限
mysql>use mysql;
Database changed
mysql>grant all privileges on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)
mysql>flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql>select host,user,password from user;
host | user | password |
---|---|---|
localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
% | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
3 rows in set (0.00 sec)
The above is the detailed content of Detailed steps for LNMP compilation and installation under Centos7 system. For more information, please follow other related articles on the PHP Chinese website!