小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
CentOS7.4上搭建LAMP环境,这里以centos7.4为例;
工具/原料
Xshell连接到您的服务器上,使系统处于最新状态执行以下命令,
查看centos版本 lsb_release -a
更新centos系统
yum -y update 3
利用yum命令安装Apache执行命令,
查看Apache版本httpd -v
yum -y install httpd4
启动httpd并且设置为它开机启动,
systemctl start httpd 【启动httpd命令】
systemctl enable httpd 【设置httpd开机启动】
systemctl restart httpd (重启)5
我们这里可通过俩个命令查看是否启动和开机启动;
systemctl status httpd 【查看是否启动命令】
systemctl is-enabled httpd 【查看是否开机启动(输出enabled已经成功)】
注意:后续检查数据库的方法也是大同小异作不在详细解释。
安装成功后,在浏览器地址栏输入你的服务器IP地址出现下图说明你的httpd已经成功安装,例如我这里:39.104.82.85
yum -y install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb
systemctl is-enabled mariadb
systemctl restart mariadb(重启)
mysql_secure_installation
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
按回车
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n]
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y (询问是否移除匿名用户输入y回车)
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] n(询问是否禁止远程root登陆我这里选择y禁止远程登录【如果您需要远程登录连接数据库可选择n】)
... skipping.
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y(询问是否删除测试数据库【可选项随意y或n】这里我选择y)
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y (询问是否现在重新加载权限表选择y回车)
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
mysql -uroot -p
Enter password: 【输入密码回车即可登录进去】
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases; 【命令显示数据库列表】
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
MariaDB [(none)]> quit 【退出数据库】
Bye
查看PHP版本 php -v
1> 、安装源
安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包。
php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候,会有错误爆出。所以,这里需要的命令是:
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2> 清除历史版本
为了防止centos上面发生php冲突,所以,这个命令还是先执行一下更好些。
yum -y remove php*
3、安装扩展包
事实上,这里面的对应扩展库很多,这里大家一定要注意cli和fpm这两个包,而其它的相关包就看您需要了。
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-xmlrpc php72w-mysql php72w-imap php72w-ldap php72w-odbc php72w-pear php72w-mcrypt
4、安装完成以后,启动服务
systemctl enable php-fpm.service
systemctl start php-fpm.service
systemctl restart httpd
5> 查看php 版本
php -v //输入命令
13.安装PHP,执行命令;
yum -y install php(默认安装php5.4版本不建议13,14条)
14.查看所有组件,执行命令;(默认安装php5.4版本不建议13,14条)
yum search php
选择所需组件进行安装,执行命令;
yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
15.完成后我们可以新建一个PHP页面来查看我们安装的组件,执行命令;
vim /var/www/html/info.php
phpinfo();
?>
systemctl restart httpd
打开浏览器输入:39.104.82.85/info.php(即IP地址 / 和文件名)
注意事项
第三 同IP同服务器下多网站部署
使用FTP:FileZilla软件
1. 1. 单网站,默认项目目录:/var /www/html
多网站,其他项目目录:/var /www/项目1
/var/www/项目2
1. 1. /etc/httpd/conf/httpd.conf*修改文件尾部添加:*
DocumentRoot /var/www/项目1
ServerName www.项目1.com
Options FollowSymLinks
AllowOverride All
DocumentRoot /var/www/项目2
ServerName www.项目2.cn
Options FollowSymLinks
AllowOverride All
DocumentRoot /var/www/jqbs
ServerName 9wuquan.cn
ServerAlias *.9wuquan.cn
Options FollowSymLinks
AllowOverride All
DocumentRoot /var/www/jqbs
ServerName 9wuquan.cn
ServerAlias *.9wuquan.cn
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
SSLCertificateFile /etc/letsencrypt/live/9wuquan.cn/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/9wuquan.cn/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateChainFile /etc/letsencrypt/live/9wuquan.cn/chain.pem
(2.安装apache的mod_ssl.so模块yum -y install mod_ssl)
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
Options Indexes FollowSymLinks => Options FollowSymLinks // 配置Apache不能通过目录层级进行文件访问
AllowOverride All
AllowOverride None => AllowOverride All // 配置允许.htaccess
最后,通过.htaccess进行301转向
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [L,R=302]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
# 图片和Flash内容缓存一个月
Header set Cache-Control "max-age=2592000"
Header set Access-Control-Allow-Origin "*"
3, systemctl restart httpd
此时也是一级,二级域名都可以访问
第四 远程连接MySQL
1. 增加帐号。MySQL服务器root帐号被配置成了禁止远程登入,因此需要新增加一个MySQL帐号用于远程管理:
[root@centos-server ~]$ mysql --host localhost --user root --password mysql
mysql> CREATE USER 'owen'@'%' IDENTIFIED BY 'owen';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'owen'@'%' WITH GRANT OPTION;
2.在阿里云上开启3306端口
3.使用数据库软件在本地使用owen账号远程连接mysql
Buy me a cup of coffee :)