首页 文章 精选 留言 我的

精选列表

搜索[后台管理框架],共10000篇文章
优秀的个人博客,低调大师

pm2管理多个nodejs项目nginx反向代理多域名https协议ssl证书

首先下载免费证书,上传至服务器,证书有很多种,以上阿里云免费版证书分为DV、OV、EV三种: DV SSL证书:亦是域名验证型证书,申请该证书时,CA(证书颁发机构)只需审核域名的所有权即可,整个流程非常简单,无需人工,由系统自动完成。所以时间上是比较快的,一般10分钟左右就能签发,而且价格比较便宜,相对来说等级也是比较低的,适合个人网站及小型组织或企业网站。 OV SSL证书:这个是企业验证型,比DV证书的验证要求要高一些。它不仅需要验证域名的所有权,还需要验证企业身份,验证是需提供企业信息和公司营业执照扫描件等资料,都是通过人工审核的,一般需要3-5个工作日才能颁发,价格也相对较高一些,但是安全等级大大的提高了,适合一般组织或中小型企业网站。 EV SSL证书:这是目前业界最高安全级别的证书,功能比前两位都强大。如果用户安装了此证书,浏览器不仅会显示绿色的地址栏及https前缀和安全锁的标志,而且还会显示企业名,这个不仅看上去就很高大上,而且真的更安全。当然了,EV SSL证书审核也是最严格的,需要提供企业信息和公司营业执照扫描件等资料以及邓白氏或者律师意见信,CA机构会人工验证组织和电话信息,一般3-7个工作日才能颁发,价格也是相对比较高的,适用于在线交易网站、大型企业或金融、银行等组织。 以上三种证书都可选单域名,多域名,通用域名3个种类,价格也不同。 单域名:仅保护一个域名的普通SSL证书。 www.centby.com 多域名:可以同时保护多个域名数量可选择,不管是主域名还是子域名都行。 www.centby.com,m.centby.com,porcelain.bbs.centby.com 通用域名:能够保护一个域名以及该域名的所有下一级域名,有范围的限制,但是没有数量的限制。 *.centby.com 或 *.info.centby.com 不可以越级 配置Nginx vi /usr/local/nginx/conf/nginx.conf #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; #start upstream demoa { #ip_hash; server 127.0.0.1:8000; } upstream demob { #ip_hash; server 127.0.0.1:8001; } #end #start ssl server { listen 443; server_name www.centby.com; ssl on; root /usr/share/nginx/html; ssl_certificate "cert/cert-15_xy.centby.com.crt";##示例 ssl_certificate_key "cert/cert-15_xy.centby.com.key";##示例 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location / { proxy_pass http://demoa; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } server { listen 443; server_name m.centby.com; ssl on; root /usr/share/nginx/html; ssl_certificate "cert/cert-8_aapi.crt";##示例 ssl_certificate_key "cert/cert-8_bapi.key";##示例 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on; location / { proxy_pass http://demob; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } #end ssl server { listen 80; server_name www.centby.com; #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; # } location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://demoa; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 80; server_name m.centby.com; #charset koi8-r; #access_log logs/host.access.log main; #location / { # root html; # index index.html index.htm; # } location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://demob; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } #include vhost/*.conf; } 重启Nginx服务 //进入目录 cd /usr/local/nginx/sbin //测试 ./nginx -t //重启服务 ./nginx -s reload

优秀的个人博客,低调大师

CentOS7源码编译安装nginx+php7.2+mysql5.7并使用systemctl管理

相关笔记:CentOS7yum安装nginx+php7+mysqlCentOS6.9源码编译安装nginx+php7+mysql环境CentOS6.9yum安装nginx+php7+mysql环境1.安装nginx安装依赖 yum -y install gcc gcc-c++ wget automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl openssl-devel 创建一个不能登录的nginx运行用户 groupadd www-data useradd -s /sbin/nologin -g www-data www-data 创建源码保存目录和运行时的临时文件夹,下载nginx源码,当前稳定版为nginx-1.14.2 mkdir -p /var/cache/nginx mkdir -p /usr/local/src/nginx cd /usr/local/src/nginx wget -c http://nginx.org/download/nginx-1.14.2.tar.gz 解压 tar -zxvf nginx-1.14.2.tar.gz cd /usr/local/src/nginx/nginx-1.14.2 编译前配置检查 ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/run/nginx.lock \ --http-client-body-temp-path=/var/cache/nginx/client_temp \ --http-proxy-temp-path=/var/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=/var/cache/nginx/scgi_temp \ --user=www-data \ --group=www-data \ --with-pcre \ --with-http_v2_module \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ --with-http_auth_request_module \ --with-mail \ --with-mail_ssl_module \ --with-file-aio \ --with-http_v2_module \ --with-threads \ --with-stream \ --with-stream_ssl_module 配置检查完毕,已经创建了Makefile creating objs/Makefile Configuration summary + using threads + using system PCRE library + using system OpenSSL library + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/cache/nginx/client_temp" nginx http proxy temporary files: "/var/cache/nginx/proxy_temp" nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp" nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp" nginx http scgi temporary files: "/var/cache/nginx/scgi_temp" 编译,安装 make make install 修改配置nginx详细配置请移步(nginx的configure参数,配置文件,虚拟主机配置,信号控制) vim /usr/local/nginx/conf/nginx.conf user www-data; pid /var/run/nginx.pid; 启动nginx /usr/local/nginx/sbin/nginx 查看进程 ps aux|grep nginx 杀掉进程 pkill -9 nginx 配置服务 vim /usr/lib/systemd/system/nginx.service 输入如下配置 [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID ExecStartPost=/bin/sleep 0.1 [Install] WantedBy=multi-user.target 注意:如果你是单核服务器,需要加ExecStartPost=/bin/sleep 0.1 否则在执行systemctl start nginx之后,在执行systemctl status nginx时 会出现systemd[1]: Failed to read PID from file /var/run/nginx.pid: Invalid argument 这是因为nginx还未启动完成,systemctl就去寻找pid进程文件了,这是一个已知的bug 地址https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864 重新载入 systemd systemctl daemon-reload 开启开机启动 systemctl enable nginx.service Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. 启动和查看nginx状态 systemctl start nginx systemctl status nginx ● nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 18:24:18 CST; 9min ago Docs: http://nginx.org/en/docs/ Process: 75573 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 75576 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 75577 (nginx) CGroup: /system.slice/nginx.service ├─75577 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf └─75578 nginx: worker process 1月 04 18:24:18 jmsiteos7 systemd[1]: Stopping nginx - high performance web server... 1月 04 18:24:18 jmsiteos7 systemd[1]: Stopped nginx - high performance web server. 1月 04 18:24:18 jmsiteos7 systemd[1]: Starting nginx - high performance web server... 1月 04 18:24:18 jmsiteos7 systemd[1]: Started nginx - high performance web server. 2.安装mysql注:MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,我们首先要在系统中源码编译安装cmake工具。安装依赖 yum install -y cmake gcc-c++ bison bison-devel ncurses-devel perl-Data-Dumper boost boost-doc boost-devel 创建mysql用户和用户组 groupadd mysql useradd -g mysql mysql 创建源码存放目录,下载,解压 mkdir -p /usr/local/src/mysql cd /usr/local/src/mysql wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz tar -zxvf mysql-boost-5.7.20.tar.gz cd mysql-5.7.20 创建相应目录并授权 mkdir -p /usr/local/mysql/data chown -R mysql:mysql /usr/local/mysql/ touch /var/log/mysql.log chown -R mysql:mysql /var/log/mysql.log mkdir -p /var/lib/mysql chown -R mysql:mysql /var/lib/mysql mkdir -p /var/run/mysqld chown -R mysql:mysql /var/run/mysqld 配置检查 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DEXTRA_CHARSETS=all \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_unicode_ci \ -DWITH_DEBUG=0 \ -DMYSQL_MAINTAINER_MODE=0 \ -DWITH_SYSTEMD=1 \ -DWITH_BOOST=boost \ -DWITH_SSL:STRING=bundled \ -DWITH_ZLIB:STRING=bundled 编译,安装 make make install 修改mysql配置 vim /etc/my.cnf 如下设置 [mysql] default-character-set=utf8 socket=/var/lib/mysql/mysql.sock [mysqld] init-connect = 'SET NAMES utf8' character-set-server = utf8 basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock user = mysql explicit_defaults_for_timestamp=true bind-address = 0.0.0.0 server-id = 1 log_error=/var/log/mysql.log # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe] log-error=/var/log/mariadb/mariadb.log pid-file=/var/run/mariadb/mariadb.pid 加入环境变量 vim /etc/profile 尾部加入下面两行 PATH=$PATH:/usr/local/mysql/bin/ export PATH 执行source使环境变量立即生效 source /etc/profile 初始化数据库,安装密钥 mysqld --defaults-file=/etc/my.cnf --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql mysql_ssl_rsa_setup --initialize-insecure不生成随机密码 --initialize生成随机密码 设置开机启动 cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system 重新载入 systemd systemctl daemon-reload 开机启动 systemctl enable mysqld.service systemctl start mysqld.service [root@jmsiteos7 mysql-5.7.20]# systemctl status mysqld.service ● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 15:36:52 CST; 3s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 30737 ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Process: 30719 ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Main PID: 30740 (mysqld) CGroup: /system.slice/mysqld.service └─30740 /usr/local/mysql/bin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 1月 04 15:36:51 jmsiteos7 systemd[1]: Starting MySQL Server... 1月 04 15:36:52 jmsiteos7 systemd[1]: Started MySQL Server. 设置密码(如果初始化参数是--initialize,这步跳过) mysql_secure_installation 登录mysql [root@jmsiteos7 ~]# mysql -uroot -p mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7.20 Source distribution Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> set password for root@localhost = password('yourpassword'); mysql> flush privileges; mysql> quit; Bye 3.安装php安装依赖 yum install libxml2 libxml2-devel curl-devel openjpeg openjpeg-devel openjpeg-libs libjpeg libjpeg-devel libpng freetype libpng-devel freetype-devel openssl openssl-devel 创建源码保存目录,下载,解压 mkdir -p /usr/local/src/php72 cd /usr/local/src/php72 wget -c http://cn2.php.net/get/php-7.2.13.tar.gz tar -xzvf php-7.2.13.tar.gz cd php-7.2.13 配置检查 ./configure --prefix=/usr/local/php72 \ --with-config-file-path=/usr/local/php72/etc \ --with-config-file-scan-dir=/usr/local/php72/etc/php.d \ --with-mhash \ --disable-debug \ --disable-rpath \ --enable-mysqlnd \ --with-mysqli \ --with-pdo-mysql \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --with-gd \ --with-iconv \ --with-zlib \ --enable-bcmath \ --enable-xml \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --enable-mbregex \ --enable-mbstring \ --enable-ftp \ --with-openssl \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --without-pear \ --with-gettext \ --enable-session \ --with-curl \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir 编译,安装 make -j4 make install 设置环境变量 vim /etc/profile 文件末尾加入如下两行代码 PATH=$PATH:/usr/local/php72/bin/:/usr/local/php72/sbin/ export PATH 使之立即生效 source /etc/profile 测试一下 [root@jmsiteos7 php-7.2.13]# php -v PHP 7.2.13 (cli) (built: Jan 4 2019 17:35:17) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies 设置php.ini和php-fpm.conf,www.conf进入源码目录 cd /usr/local/src/php72/php-7.2.13 复制示例配置 cp php.ini-development /usr/local/php72/etc/php.ini #或 cp php.ini-production /usr/local/php72/etc/php.ini 进入php.ini目录 cd /usr/local/php72/etc 打开配置文件 vim /usr/local/php72/etc/php.ini 更改pdo_mysql.default_socket为上面安装mysql时.sock设定的位置 pdo_mysql.default_socket = /var/lib/mysql/mysql.sock 如果不设置,php通过pdo连接mysql时会报SQLSTATE[HY000] [2002] No such file or directory复制fpm示例配置 cp php-fpm.conf.default php-fpm.conf 进入php-fpm.d目录 cd /usr/local/php72/etc/php-fpm.d 复制www.conf cp www.conf.default www.conf 设置php-fpm开机启动 cp /usr/local/src/php72/php-7.2.13/sapi/fpm/php-fpm.service /usr/lib/systemd/system/ 重新载入 systemd systemctl daemon-reload 启用开机启动 systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. 启动php-fpm systemctl start php-fpm 查看状态 [root@jmsiteos7 php-fpm.d]# systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since 五 2019-01-04 17:55:16 CST; 5s ago Main PID: 70669 (php-fpm) CGroup: /system.slice/php-fpm.service ├─70669 php-fpm: master process (/usr/local/php72/etc/php-fpm.conf) ├─70670 php-fpm: pool www └─70671 php-fpm: pool www 1月 04 17:55:16 jmsiteos7 systemd[1]: Started The PHP FastCGI Process Manager. 4.验证安装的nginx,php,mysql编辑nginx配置文件 vim /usr/local/nginx/conf/nginx.conf #更改运行用户 user www-data; #编辑server段,默认文件添加index.php location / { root html; index index.php index.html index.htm; } #匹配php的配置块取消注释并更改/scripts为$document_root location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 保存并退出,重启nginx systemctl restart nginx nginx默认的web目录下新建index.php vim /usr/local/nginx/html/index.php 输入如下php代码 <?php $dbms='mysql'; //数据库类型 $host='localhost'; //数据库主机名 $dbName='mysql'; //使用的数据库 $user='root'; //数据库连接用户名 $pass=''; //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "连接成功<br/>"; foreach ($dbh->query('SELECT db from db') as $row) { print_r($row); } $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } ?> 浏览器访问你的站点原文地址:https://www.jmsite.cn/blog-310.html

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册