centos7源码安装lnmp(新)
一、安装nginx:[*]下载:
a. nginx官网及安装包:
https://nginx.org/en/download.html
或
https://github.com/dollarphper/soft/blob/master/nginx/nginx-1.15.3.tar.gz
[*]安装:
a. 安装依赖:
yum-yinstallpcre-devel
yum-yinstallzlib-devel
b. 安装nginx:
cdnginx的下载目录
tar-xzfnginx-1.15.3.tar.gz
cdnginx-1.15.3
./configure&&make&&makeinstall
[*]配置:
a. 创建nginx用户:
useradd-s/sbin/nologin-Mnginx
b. 修改配置文件:
vim /usr/local/nginx/conf/nginx.conf
user nginx;
worker_processes1;
events {
worker_connections1024;
}
http {
include mime.types;
default_typeapplication/octet-stream;
sendfile on;
keepalive_timeout65;
client_max_body_size 8M;
client_body_buffer_size 128k;
server {
listen 80;
server_namelocalhost;
gzip on;
gzip_min_length 1k;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;
gzip_vary on;
gzip_disable "MSIE \.";
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 1h;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 1h;
}
location ~* ^.+\.(html|htm)$ {
expires 1h;
}
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {
access_log off;
expires max;
}
location / {
add_header 'Access-Control-Allow-Origin' '*';
autoindex on;
autoindex_localtime on;
root html;
indexindex.html index.htm;
if (!-f $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
if (!-d $request_filename) {
rewrite /(.*)$ /index.php/$1;
}
}
location ~ \.php(.*)$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $1;
fastcgi_paramSCRIPT_FILENAME/usr/local/nginx/html/$fastcgi_script_name;
fastcgi_paramPHP_VALUE"open_basedir=$document_root";
include fastcgi_params;
}
error_page 500 502 503 504/50x.html;
location = /50x.html {
root html;
}
}
}
c. 创建测试文件:
echo"hello world">/usr/local/nginx/html/index.html
[*]启动命令:
a. 启动:
/usr/local/nginx/sbin/nginx
b. 停止:
/usr/local/nginx/sbin/nginx-sstop
c. 重启:
/usr/local/nginx/sbin/nginx-sreload
d. 添加环境变量:
echo'exportPATH=$PATH:/usr/local/nginx/sbin/'>>/etc/profile
./etc/profile
e. 添加启动脚本:
vim/etc/init.d/nginx
#!/bin/bash
function start()
{
/usr/local/nginx/sbin/nginx
}
function stop()
{
/usr/local/nginx/sbin/nginx-sstop
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage : start | stop | restart"
;;
esac
f. 加载nginx:
chmod+x/etc/init.d/nginx
systemctldaemon-reload
5.测试:
http://i2.运维网.com/images/blog/201809/29/5c50fdd9fed50c07f4c7d0c6ec18a7c2.png
二、安装mysql:
[*]下载:
https://dev.mysql.com/downloads/mysql/
或
https://github.com/dollarphper/soft/blob/master/mysql/mysql-boost-8.0.12.tar.gz
[*]安装:
a. 安装依赖:
yum -y install cmake gcc gcc-c++ ncursesncurses-devellibaio-developenssl openssl-devel
b. 创建用户:
useradd mysql -s /sbin/nologin -M
c. 创建文件夹:
mkdir -p /usr/local/mysql/data
d. 解压:
tar-xzfmysql-boost-8.0.12.tar.gz
e. 编译安装:
cdmysql-8.0.12
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=./boost
make&&makeinstall
[*]配置:
a. 修改mysql所属者为mysql:
chown-Rmysql.mysql/usr/local/mysql
b. 修改配置文件:
vim/etc/my.cnf
server-id=1
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
ngram_token_size=2
c. 初始化:
/usr/local/mysql/bin/mysqld--initialize-insecure--user=mysql --datadir=/usr/local/mysql/data
/usr/local/mysql/bin/mysql_ssl_rsa_setup
d. 启动服务:
/usr/local/mysql/bin/mysqld_safe--user=mysql&
e. 添加到环境变量:
echo'exportPATH=$PATH:/usr/local/mysql/bin/'>>/etc/profile
./etc/profile
f. 添加启动脚本:
vim/etc/init.d/mysqld
#!/bin/bash
function start()
{
/usr/local/mysql/bin/mysqld_safe--user=mysql&
}
function stop()
{
/usr/bin/pkillmysqld
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage : start | stop | restart"
;;
esac
g. 加载mysqld:
chmod+x/etc/init.d/mysqld
systemctldaemon-reload
h. 添加用户:
CREATEUSER `root`@`%`IDENTIFIEDBY'123456';
i. 授权:
GRANTALLON *.*TO`root`@`%`WITHGRANTOPTION;
j. 删除系统预留用户:
deletefrommysql.userwherehost'%';
k. 刷新权限:
flushprivileges;
l. 允许远程登录:
l-1. 设置变量:
SETGLOBAL innodb_fast_shutdown=1;
l-2. 退出:
quit
l-3. 升级:
mysql_upgrade-uroot-p123456
[*]测试:
/usr/local/mysql/bin/mysql
http://i2.运维网.com/images/blog/201809/26/b8008e7aa01c9479f7c9c0a8bb0b01e4.png
三、安装php:
[*]下载:
http://us1.php.net/downloads.php
或
https://github.com/dollarphper/soft/blob/master/php/php-7.2.10.tar.gz
[*]安装:
a. 安装依赖:
yum-yinstalllibxml2libxml2-devel
yum-yinstallcurl-devellibjpeg-devellibpng-develfreetype-devel
yum-yinstalllibicu-devel
yum-yinstalllibxslt-devel
yum-yinstallopensslopenssl-devel
b. 解压:
tar-xzfphp-7.2.10.tar.gz
c. 编译:
cdphp-7.2.10
./configure\
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc\
--enable-fpm\
--with-fpm-user=nginx\
--with-fpm-group=nginx\
--enable-mysqlnd\
--with-mysqli=mysqlnd\
--with-pdo-mysql=mysqlnd\
--with-iconv-dir\
--with-freetype-dir=/usr/local/freetype\
--with-jpeg-dir\
--with-png-dir\
--with-zlib\
--with-libxml-dir=/usr\
--enable-xml\
--disable-rpath\
--enable-bcmath\
--enable-shmop\
--enable-sysvsem\
--enable-inline-optimization\
--with-curl\
--enable-mbregex\
--enable-mbstring\
--enable-intl\
--enable-pcntl\
--enable-ftp\
--with-gd\
--with-openssl\
--with-mhash\
--enable-pcntl\
--enable-sockets\
--with-xmlrpc\
--enable-zip\
--enable-soap\
--with-gettext\
--disable-fileinfo\
--enable-opcache\
--enable-maintainer-zts\
--with-xsl
d. 安装:
make&&makeinstall
e. 下载pthreads:
gitclonehttps://github.com/krakjoe/pthreads.git
f. 安装pthreads:
cdpthreads
phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make&&make install
g. 开启pthreads扩展:
vim/usr/local/php/etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/pthreads.so
h. 安装phpunit:
h-1. 下载:
wget-Ophpunithttps://phar.phpunit.de/phpunit-6.phar
h-2. 授权:
chmod+xphpunit
h-3. 添加到环境变量:
mvphpunit/usr/local/php/bin
i. 安装xdebug:
i-1. 下载:
gitclonegit://github.com/xdebug/xdebug.git
i-2. 进入目录:
cdxdebug
i-3. 生成编译文件:
/usr/local/php/bin/phpize
i-4. 编译:
./configure--enable-xdebug--with-php-config=/usr/local/php/bin/php-config
i-5. 安装:
make&&makeinstall
i-6. 配置:
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20170718/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=172.20.10.2
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"
[*]配置:
a. 拷贝配置文件:
cpphp.ini-production/usr/local/php/etc/php.ini
b. 配置文件参考:
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = -1
disable_functions =
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 30
max_input_time = 60
memory_limit = 512M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = on
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
enable_dl = Off
file_uploads = On
upload_max_filesize = 20M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 99999999
date.timezone = PRC
cli_server.color = On
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
bcmath.scale = 0
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5
zend.assertions = -1
tidy.clean_output = Off
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
ldap.max_links = -1
c. 添加php-fpm到系统启动目录:
cpsapi/fpm/init.d.php-fpm/etc/init.d/php-fpm
chmod+x/etc/init.d/php-fpm
systemctldaemon-reload
d. 创建配置文件:
touch/usr/local/php/etc/php-fpm.conf
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = nginx
group = nginx
pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log
[*]启动和停止:
a. 启动:
systemctlstartphp-fpm
b. 停止:
systemctlstopphp-fpm
c. 重启:
systemctlrestartphp-fpm
d. 开机启动:
chkconfigphp-fpmon
e. 添加环境变量:
echo'exportPATH=$PATH:/usr/local/php/bin/'>>/etc/profile
./etc/profile
页:
[1]